# intel/pcm

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/intel-pcm).**

3,221 stars · 516 forks · C++ · bsd-3-clause

## Links

- GitHub: https://github.com/intel/pcm
- awesome-repositories: https://awesome-repositories.com/repository/intel-pcm.md

## Topics

`cpu` `energy` `freebsd` `intel` `linux` `monitor-performance` `monitoring` `osx` `pcm` `performance-analysis` `performance-counters` `performance-dashboard` `performance-metrics` `performance-monitoring` `performance-visualization` `power` `processor` `processor-architecture` `windows` `xeon`

## Description

The Intel Processor Performance Monitor is a set of specialized diagnostic tools designed for monitoring raw hardware events, memory latency, PCIe throughput, and processor power states on Intel architecture.

The project provides dedicated utilities for measuring data throughput across sockets and PCIe buses, tracking power usage and sleep states to identify frequency throttling, and analyzing cache misses and memory access times. It also includes a hardware event profiler for querying raw core and uncore register events to monitor specific processor behaviors.

Capabilities cover comprehensive hardware performance analysis, including memory bandwidth across channels and ranks, thermal headroom, and the tracking of specialized hardware accelerators. The system supports custom hardware event programming via raw register encoding and provides a mechanism to export collected performance data via HTTP interfaces for integration with external monitoring systems.

## Tags

### System Administration & Monitoring

- [Hardware Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/hardware-performance-monitoring.md) — Provides a comprehensive suite of tools for tracking hardware-level metrics, including instructions per cycle and thermal headroom. ([source](https://cdn.jsdelivr.net/gh/intel/pcm@master/README.md))
- [Intel Processors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/infrastructure-metrics/intel-processors.md) — Comprehensive hardware performance monitoring tool for analyzing processor efficiency, memory bandwidth, and cache latency on Intel architecture.
- [Hardware Event Profilers](https://awesome-repositories.com/f/system-administration-monitoring/hardware-event-profilers.md) — Provides a low-level tool for querying raw core and uncore register events to monitor processor behaviors.
- [Hardware Latency Detectors](https://awesome-repositories.com/f/system-administration-monitoring/hardware-performance-monitoring/hardware-latency-detectors.md) — Measures cache misses and memory access times to identify and resolve hardware performance stalls.
- [Latency Measurement](https://awesome-repositories.com/f/system-administration-monitoring/hardware-performance-monitoring/latency-measurement.md) — Provides specialized utilities to analyze cache misses and memory access times to resolve hardware performance bottlenecks. ([source](https://cdn.jsdelivr.net/gh/intel/pcm@master/README.md))
- [Processor Cores](https://awesome-repositories.com/f/system-administration-monitoring/hardware-performance-monitoring/processor-cores.md) — Monitors CPU instructions, thermal headroom, and core efficiency to identify system bottlenecks.
- [System Memory Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-memory-monitors.md) — Tracks data throughput across memory channels and ranks to analyze local and remote memory access patterns.
- [Energy Usage Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/energy-management/energy-usage-monitoring.md) — Measures power usage and sleep states to determine the cause of processor frequency throttling. ([source](https://cdn.jsdelivr.net/gh/intel/pcm@master/README.md))
- [Subsystem Energy Profilers](https://awesome-repositories.com/f/system-administration-monitoring/energy-management/subsystem-energy-profilers.md) — Tracks power usage and processor sleep states to diagnose frequency throttling and energy efficiency.
- [Custom Event Programming](https://awesome-repositories.com/f/system-administration-monitoring/hardware-performance-monitoring/custom-event-programming.md) — Queries arbitrary core and uncore events using raw register encoding to monitor specific hardware behaviors. ([source](https://cdn.jsdelivr.net/gh/intel/pcm@master/README.md))
- [Accelerator Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/accelerator-monitoring.md) — Monitors performance data for specialized hardware accelerators to evaluate processing efficiency. ([source](https://cdn.jsdelivr.net/gh/intel/pcm@master/README.md))

### Part of an Awesome List

- [Bandwidth Analysis](https://awesome-repositories.com/f/awesome-lists/data/memory-analysis/bandwidth-analysis.md) — Tracks data throughput across memory channels and ranks to identify local and remote memory access patterns. ([source](https://cdn.jsdelivr.net/gh/intel/pcm@master/README.md))

### Operating Systems & Systems Programming

- [Hardware Performance Counter Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-performance-counter-integrations.md) — Reads model-specific registers via the kernel to capture low-level processor performance counters.
- [Hardware Register Diagnostics](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-register-diagnostics.md) — Queries raw core and uncore register events to monitor specific hardware behaviors and specialized accelerators.
- [Kernel Hardware Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-hardware-interfaces.md) — Provides a privileged kernel driver to bypass OS restrictions and access restricted hardware registers directly.
- [PCIe Bus Traffic Analysis](https://awesome-repositories.com/f/operating-systems-systems-programming/pcie-bus-traffic-analysis.md) — Measures bandwidth usage across sockets and PCIe buses to monitor data flow between devices.
- [Throughput Monitoring](https://awesome-repositories.com/f/operating-systems-systems-programming/pcie-bus-traffic-analysis/throughput-monitoring.md) — Measures bandwidth usage across sockets and PCIe buses to track per-device data flow. ([source](https://cdn.jsdelivr.net/gh/intel/pcm@master/README.md))
- [Uncore Performance Monitoring](https://awesome-repositories.com/f/operating-systems-systems-programming/uncore-performance-monitoring.md) — Queries non-core hardware components to track memory controller throughput and PCIe bus traffic.

### Software Engineering & Architecture

- [Throughput Measurement](https://awesome-repositories.com/f/software-engineering-architecture/monotonic-time-measurement/throughput-measurement.md) — Computes throughput and bandwidth by measuring hardware counter changes over precise clock-cycle intervals.
- [Register Configuration Managers](https://awesome-repositories.com/f/software-engineering-architecture/state-management/hardware-register-state-managers/register-configuration-managers.md) — Allows the definition of arbitrary hardware events by writing specific bit-patterns to processor control registers.
