Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.7.4. Perf

The perf tool provides a number of useful performance counters that let the user assess the impact of other commands on their system:
perf stat
This command provides overall statistics for common performance events, including instructions executed and clock cycles consumed. You can use the option flags to gather statistics on events other than the default measurement events. As of Red Hat Enterprise Linux 6.4, it is possible to use perf stat to filter monitoring based on one or more specified control groups (cgroups). For further information, read the man page: man perf-stat.
perf record
This command records performance data into a file which can be later analyzed using perf report. For further details, read the man page: man perf-record.
As of Red Hat Enterprise Linux 6.6, the -b and -j options are provided to allow statistical sampling of taken branches. The -b option samples any branches taken, while the -j option can be adjusted to sample branches of different types, such as user level or kernel level branches.
perf report
This command reads the performance data from a file and analyzes the recorded data. For further details, read the man page: man perf-report.
perf list
This command lists the events available on a particular machine. These events will vary based on the performance monitoring hardware and the software configuration of the system. For further information, read the man page: man perf-list.
perf mem
Available as of Red Hat Enterprise Linux 6.6. This command profiles the frequency of each type of memory access operation performed by a specified application or command. This allows a user to see the frequency of load and store operations performed by the profiled application. For further information, read the man page: man perf-mem.
perf top
This command performs a similar function to the top tool. It generates and displays a performance counter profile in realtime. For further information, read the man page: man perf-top.
perf trace
This command performs a similar function to the strace tool. It monitors the system calls used by a specified thread or process and all signals received by that application. Additional trace targets are available; refer to the man page for a full list.
More information about perf is available in the Red Hat Enterprise Linux Developer Guide, available from http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.