Skip to content

Perf 工具使用相关notes

Ahoy, the Fate Weaver edited this page Nov 16, 2023 · 2 revisions
perf record -a --call-graph dwarf -p `ps aux | grep "observer" | grep -v grep | cut -c 9-15` -d 1 -b
perf report -i perf.data > ./perf.txt

perf stat -p observer_pid
perf stat -e branch-misses -e cache-misses -e cache-references -e cpu-cycles -e instructions -e alignment-faults -e context-switches -e cpu-clock -e cpu-migrations -e dummy -e emulation-faults -e major-faults -e minor-faults -e page-faults -e task-clock -e L1-dcache-load-misses -e L1-dcache-loads -e L1-dcache-stores -e L1-icache-load-misses -e branch-load-misses -e branch-loads -e dTLB-load-misses -e dTLB-loads
perf record -F 99 -ag -- sleep 10 -p 45868
```bash

# 常用

perf record -F 3000 --call-graph dwarf -t 40991 -- sleep 4 cp /home/perf/observer/perf.data /home/tool/FlameGraph/

# FlameGraph生成

perf script -i perf.data &> perf.unfold ./stackcollapse-perf.pl perf.unfold &> perf.folded ./flamegraph.pl perf.folded > perf.svg