如何抓取火焰图
安装 perf 工具
yum install -y perf
Git clone 火焰图生成工具,或者从 GitHub 手动下载
git clone https://github.com/brendangregg/FlameGraph
cd FlameGraph
抓取 oncpu 火焰图,可以使用-p 指定进程号,不加-p 选项可以抓取整个系统性能数据
perf record -F 99 -a -g -p ${pid} -- sleep 60
perf script | ./stackcollapse-perf.pl > out.perf-folded
./flamegraph.pl out.perf-folded > ${file_name}_oncpu.svg
抓取 offcpu 火焰图,-e 可以指定额外的性能事件,可以使用 perf inject 插入额外的信息
perf record -e sched:sched_stat_sleep -e sched:sched_switch -e sched:sched_process_exit -a -g -p ${pid} sleep 60
perf script | ./stackcollapse-perf.pl > out.perf-folded
./flamegraph.pl --countname=us --title="Off-CPU Time Flame Graph" --colors=io out.perf-folded > ${file_name}_offcpu.svg