方法一:使用perf进行cpu分析
【安装方式:在root用户下运行yum install perf -y】
在终端使用perf top分析,查找函数热点
perf top -g -p pid
重点查看self列高的那一行
可以看到上面的例子中,A函数是热点,需要重点关注;按下Enter键可以展开调用链,如下图所示:
方法二:使用火焰图进行查看
格子宽度大的函数/方法,很有可能就是性能瓶颈所在
1)perf record -a -g -p 31705 -F 1000 sleep 10 // 采集10秒的数据保存在perf.data中
2)perf script -i perf.data &> perf.unfold // 用perf script工具对perf.data进行解析
3)./stackcollapse-perf.pl perf.unfold &> perf.folded // 将perf.unfold中的符号进行折叠
4)./flamegraph.pl perf.folded > perf.svg // 生成svg火焰图
5)使用浏览器打开perf.svg,可以发现函数A的占比最高,需要重点关注,如下图所示:
说明:stackcollapse-perf.pl和flamegraph.pl 下载地址:https://github.com/brendangregg/FlameGraph
标签:perf,svg,问题,排查,unfold,data,CPU,pl,函数 From: https://www.cnblogs.com/guoliushui/p/17427183.html