PMU - AshokBhat/notes GitHub Wiki

About

  • Performance Monitoring Unit counters

Core counters

  • Counters related to core

Uncore counters

  • Shared socket-wide values
  • Called “uncore” by Intel and “northbridge” by AMD

Perf (Linux)

  • Performance analyzing tool in Linux
  • perf - userspace controlling utility, is accessed from the command line and provides a number of subcommands
  • Capable of statistical profiling of the entire system (both kernel and userland code).
  • Supports
    • (1) Hardware performance counters
    • (2) Tracepoints
    • (3) Software performance counters (e.g. hrtimer)
    • (4) Dynamic probes (for example, kprobes or uprobes)

Perf subcommands

  • stat: measure total event count for single program or for system for some time
  • top: top-like dynamic view of hottest functions
  • record: measure and save sampling data for single program
  • report: analyze file generated by perf record; can generate flat, or graph profile
  • annotate: annotate sources or assembly
  • sched: tracing/measuring of scheduler actions and latencies
  • list: list available events

LTTng

  • Linux Trace Toolkit Next Generation (LTTng)
  • System software package for correlated tracing of kernel, applications and libraries

OProfile

  • Most commonly used performance counter profiling tools on Linux
  • Profiles everything running on the Linux system, including hard-to-profile programs such as interrupt handlers and the kernel itself.
  • Sampling profiler for Linux that counts cache misses, stalls, memory fetches, etc

PAPI

  • Performance Application Programming Interface (PAPI)
  • Library for hardware performance counters on modern microprocessors

gprof

See also