Contents
Overview
The 'perf' command line tool is the interface which can be used by users to utilize the new performance counter subsystem in recent Linux kernels (version > 2.6.30). The new performance counter subsystem of Linux allows for using provides rich abstractions over the PMU hardware capabilities of modern CPUs. It provides per task, per CPU and per-workload counters, counter groups, and it provides sampling capabilities on top of those. It also provides abstraction for 'software events' - such as minor/major page faults, task migrations, task context-switches and tracepoints. The 'perf' tool can be used to optimize, validate and measure applications, workloads or the full system.
NOTE: 'perf' is at this time only available on the westmere server. Installations and deployment on other platforms/machines is to be discussed.
perf commands
'perf' invokation uses different commands and particular options to these commands to perfom fine monitoring of performance-relevant information. The full list of commands supported by 'per' can be seen by issuing the following:
[root@westmere 2006-1.1]# perf help usage: perf [--version] [--help] COMMAND [ARGS] The most commonly used perf commands are: annotate Read perf.data (created by perf record) and display annotated code archive Create archive with object files with build-ids found in perf.data file bench General framework for benchmark suites buildid-cache Manage build-id cache. buildid-list List the buildids in a perf.data file diff Read two perf.data files and display the differential profile kmem Tool to trace/measure kernel memory(slab) properties list List all symbolic event types record Run a command and record its profile into perf.data report Read perf.data (created by perf record) and display the profile sched Tool to trace/measure scheduler properties (latencies) stat Run a command and gather performance counter statistics timechart Tool to visualize total system behavior during a workload top System profiling tool. trace Read perf.data (created by perf record) and display trace output See 'perf help COMMAND' for more information on a specific command.
perf list
perf stat
perf report
Running applications under perf surveilance
HEPSPEC