pcm
Intel PCM is a performance monitoring toolkit for Intel processors that provides real-time CPU, memory, and energy metrics across Linux, Windows, macOS, and FreeBSD. It includes command-line tools, a Grafana dashboard, and an HTTP sensor server for integration into monitoring systems.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | intel/pcm |
| Owner | intel |
| Primary language | C++ |
| License | BSD-3-Clause — OSI-approved |
| Stars | 3.3k |
| Forks | 526 |
| Open issues | 70 |
| Latest release | 202604 (2026-04-10) |
| Last updated | 2026-07-08 |
| Source | https://github.com/intel/pcm |
What pcm is
PCM exposes Intel hardware performance counters through a C++ API and command-line utilities, offering per-core IPC, cache miss rates, memory bandwidth, power consumption, and accelerator metrics (IAA, DSA, QAT). It supports both standard and raw event programming on modern Intel architectures.
Get the pcm source
Clone the repository and explore it locally.
git clone https://github.com/intel/pcm.gitcd pcm# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires kernel driver installation on Windows/macOS and elevated (root/admin) privileges on all platforms to access hardware counters.
- Latest release (202604, July 2026) is current; verify driver compatibility with target kernel versions before deployment.
- Counter interpretation requires familiarity with Intel microarchitecture (Skylake, Cascade Lake, Ice Lake, etc.); output is raw unless visualization tools (Grafana) are configured.
- pcm-sensor-server can expose metrics in Prometheus format; validate JSON/text output format alignment with existing scrape configs.
- Build requires CMake and platform-specific compilers (MSVC on Windows, Clang/GCC on Unix); pre-compiled packages available for major Linux distros.
When to avoid it — and what to weigh
- Non-Intel or Mixed-Vendor Infrastructure — PCM is Intel-specific; it does not monitor AMD EPYC, Arm, or other architectures. Unsuitable for heterogeneous environments.
- Simple Black-Box Monitoring Needs — If you need only basic system-level metrics (CPU %, memory %), generic tools (Prometheus node_exporter, collectd) are simpler. PCM is for deep hardware-level diagnostics.
- Restricted Kernel Access Environments — PCM requires direct access to performance counter registers via kernel drivers; not feasible in strictly sandboxed or containerized contexts without elevated privileges.
- Real-Time Deterministic Workloads — Counter reading introduces overhead and latency jitter; not recommended for latency-critical or hard real-time applications.
License & commercial use
BSD-3-Clause (New/Revised License). This is a permissive OSI-approved open-source license allowing commercial and private use, modification, and redistribution with limited liability and attribution requirements.
BSD-3-Clause is a permissive license compatible with commercial deployment. No license fees or commercial restrictions apply. However, verify that any proprietary Intel microarchitecture documentation or driver requirements (Windows/macOS) do not impose additional constraints in your use case. Recommend legal review for data center licensing implications if applicable.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
PCM requires elevated privileges (root/admin) to read hardware counters, expanding the trusted computing base. Kernel drivers (Windows, macOS) are proprietary and should be sourced from official Intel channels. Source code is publicly available and subject to CodeQL scanning. No known disclosed vulnerabilities mentioned in excerpt. Isolate counter access in multi-tenant environments using pcm-daemon and file permissions. Review driver implementation for your specific kernel version before deployment.
Alternatives to consider
Linux perf (perf-tools)
Free, built-in on Linux; lower-level control. Limited to Linux, requires kernel symbols, steeper learning curve; no energy metrics or vendor dashboard support.
AMD uProf (for AMD EPYC)
AMD-native equivalent; better EPYC support. Not applicable to Intel infrastructure; requires separate toolchain.
Prometheus node_exporter + generic collectors
Simple, distro-agnostic system metrics. Lacks deep hardware counter visibility, energy, and Intel-specific features like Turbo Boost state tracking.
Build on pcm with DEV.co software developers
Review the full technical documentation and compatibility matrix. Test pcm-sensor-server in a pilot environment; pre-compiled binaries and Docker containers reduce deployment friction.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
pcm FAQ
Does PCM work on AMD processors?
Can PCM run without elevated privileges?
What is the performance overhead of PCM monitoring?
Can PCM integrate with my existing Prometheus/Grafana stack?
Work with a software development agency
DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If pcm is part of your open-source observability roadmap, our team can implement, customize, migrate, and maintain it.
Evaluate PCM for Your Intel Infrastructure
Review the full technical documentation and compatibility matrix. Test pcm-sensor-server in a pilot environment; pre-compiled binaries and Docker containers reduce deployment friction.