perf 与火焰图
perf
$ sudo perf record -F 99 -p 13204 -g -- sleep 30
上面的代码中,
结合著名的 FlameGraph 火焰图工具,我们能够快速定位时间占用较多的函数调用。
# 执行采样
$ perf record -e cpu-clock -g -p ${PID}
# 用 perf script 工具对 perf.data 进行解析
perf script -i perf.data &> perf.unfold
# 将 perf.unfold 中的符号进行折叠
./stackcollapse-perf.pl perf.unfold &> perf.folded
# 生成 svg 火焰图
/flamegraph.pl perf.folded > perf.svg