Linux进程火焰图

First Post:

Last Update:

Word Count:
283

Read Time:
1 min

Linux进程火焰图

前言

现在线上机器已经预装了perf,perf的样本配合火焰图可以更直观地看出cpu瓶颈。 下面以mmbizappmsgappsvr模块为例

导语 一种可视化定位cpu瓶颈的方法,注意二进制的符号表不要strip掉,不然输出不了函数名

2. 登陆机器执行perf命令进行采样

找出目标进程

1
ps auxf | grep appmsg

对进程采样

采集一段时间之后Ctrl+C中断

1
perf record -a -p 28537 -f  -g -o /tmp/test.perf

把样本转成script(可读的调用栈文本),发送到本地

1
2
perf script -i /tmp/test.perf > /tmp/test.script
sz /tmp/test.script

3. 输出火焰图

下载下面两个脚本 stackcollapse-perf.pl flamegraph.pl 然后执行

1
2
3
chmod +x flamegraph.pl
chmod +x stackcollapse-perf.pl
cat /tmp/test.script | ./stackcollapse-perf.pl | ./flamegraph.pl > /tmp/test.svg

火焰图就出来了 用chrome打开火焰图,鼠标hover到每个格子上都会在最下方显示占用的cpu百分比。

参考文章

http://www.brendangregg.com/perf.html#Visualizations

标签: 性能优化 perf 火焰图

ref: https://km.woa.com/articles/show/405687?kmref=search&from_page=1&no=1

打赏点小钱
支付宝 | Alipay
微信 | WeChat