perf+FlameGraph火焰图

在软件测试运行过程中,如果发现了一些性能问题,但是却无从下手的情况,可以通过perf+FlameGraph生成程序运行期间的火焰图,来定位耗时比较高的函数。使用命令如下

perf抓取数据

sudo perf record -F 10000 -a -g -- sleep 60

#用perf script工具对perf.data进行解析
sudo perf script -i perf.data &> perf.unfold

#将perf.unfold中的符号进行折叠:
sudo ./stackcollapse-perf.pl perf.unfold &> perf.folded
#4、最后生成svg图:
sudo ./flamegraph.pl perf.folded > perf.svg

写成一条命令

perf record -F 100000 -a -g -- sleep 10 && perf script -i perf.data &> perf.unfold && ./stackcollapse-perf.pl perf.unfold &> perf.folded && ./flamegraph.pl perf.folded > perf.svg

最后生成perf.svg,可以通过浏览器打开,如下是virtual_slave的CPU火焰图

perf+FlameGraph火焰图_第1张图片

你可能感兴趣的:(perf+FlameGraph火焰图)