PMU - AshokBhat/notes GitHub Wiki
About
- Performance Monitoring Unit counters
Core counters
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