Perf
From Attie's Wiki
(Difference between revisions)
(Created page with "==Install== <source lang="bash"> apt-get install linux-tools-common linux-tools-$(uname -r) </source> ==Using==") |
m (→Using) |
||
Line 5: | Line 5: | ||
==Using== | ==Using== | ||
+ | ===The Basics=== | ||
+ | <source lang="bash"> | ||
+ | # Unrestrict the kernel symbol maps | ||
+ | echo -n 0 | sudo tee /proc/sys/kernel/kptr_restrict > /dev/null | ||
+ | |||
+ | # start the process, and get its PID | ||
+ | |||
+ | # record some data, to perf.data (kill perf when done) | ||
+ | perf record -p ${PID} | ||
+ | |||
+ | # review the recorded data | ||
+ | perf report --stdio | ||
+ | </source> | ||
+ | |||
+ | ===Record a Call Graph=== | ||
+ | <source lang="bash"> | ||
+ | perf record -g -p ${PID} | ||
+ | </source> | ||
+ | |||
+ | ===Record for 30 seconds=== | ||
+ | <source lang="bash"> | ||
+ | perf record -p ${PID} sleep 30 | ||
+ | </source> |
Revision as of 16:19, 19 February 2015
Contents |
Install
apt-get install linux-tools-common linux-tools-$(uname -r)
Using
The Basics
# Unrestrict the kernel symbol maps echo -n 0 | sudo tee /proc/sys/kernel/kptr_restrict > /dev/null # start the process, and get its PID # record some data, to perf.data (kill perf when done) perf record -p ${PID} # review the recorded data perf report --stdio
Record a Call Graph
perf record -g -p ${PID}
Record for 30 seconds
perf record -p ${PID} sleep 30