perf 和火焰图
环境 & 版本
- Linux 5.10.16.3-microsoft-standard-WSL2 x86_64 x86_64
- Ubuntu 20.04.2 LTS
- perf version 5.10.16.3
NOTE: 如果没有特别说明,以下perf
命令都在root
权限下执行
查询 & 罗列
列出Virtual Memory相关的static tracepoint
-
perf list 'vmscan:*'
-
`perf list ‘kmem:*’
k -
perf stat -a sleep
tracepoint 使能
通过 debugfs 中的相应文件使能 tracepoint
1 | root@sie-luc:~# find /sys/kernel/debug/tracing/events/ -type d| grep -E 'dma|gpu' |
常用命令
perf top -e cycles
-
perf record -F 999 -p PID -g
- 默认会在当前目录下生成 perf.data, 后面如果再执行之前的 perf.data 会自动重命名 perf.data.old
-
perf script | /path/to/FlameGraph/stackcollapse-perf.pl | /path/to/FlameGraph/framegraph.pl > result.svg
- 生成火焰图需要这个脚本工具 FlameGraph,而且如果想看到详细的调用栈需要编译跟踪对象为 Debug 版本