2017-10-20 23:14:29 +05:30
|
|
|
# perf
|
|
|
|
|
2021-08-15 19:59:09 +02:00
|
|
|
> Framework for Linux performance counter measurements.
|
2021-10-26 13:19:43 +02:00
|
|
|
> More information: <https://perf.wiki.kernel.org>.
|
2017-10-20 23:14:29 +05:30
|
|
|
|
2017-10-21 18:35:17 +05:30
|
|
|
- Display basic performance counter stats for a command:
|
2017-10-20 23:14:29 +05:30
|
|
|
|
2017-10-21 18:35:17 +05:30
|
|
|
`perf stat {{gcc hello.c}}`
|
2017-10-20 23:14:29 +05:30
|
|
|
|
2021-08-15 19:59:09 +02:00
|
|
|
- Display system-wide real-time performance counter profile:
|
2017-10-20 23:14:29 +05:30
|
|
|
|
|
|
|
`sudo perf top`
|
|
|
|
|
2021-01-31 14:05:18 -03:00
|
|
|
- Run a command and record its profile into `perf.data`:
|
2017-10-20 23:14:29 +05:30
|
|
|
|
|
|
|
`sudo perf record {{command}}`
|
|
|
|
|
2021-10-26 13:19:43 +02:00
|
|
|
- Record the profile of an existing process into `perf.data`:
|
|
|
|
|
2025-04-20 00:21:53 +03:00
|
|
|
`sudo perf record {{[-p|--pid]}} {{pid}}`
|
2021-10-26 13:19:43 +02:00
|
|
|
|
2021-01-31 14:05:18 -03:00
|
|
|
- Read `perf.data` (created by `perf record`) and display the profile:
|
2017-10-20 23:14:29 +05:30
|
|
|
|
|
|
|
`sudo perf report`
|