在centos linux 环境下使用火焰图

火焰图是个比较方便查看程序资源占用的图形,由于其外表看起来像一团火焰,故命名为火焰图,其形状如下图所示:


注意:图案中的颜色是随机的,无参考意义,而是通过观看水平条的宽度来区分占用资源的操作的,条越宽,说明占用的资源越多,越需要关注或优化

火焰图的说明,可参考地址:http://www.brendangregg.com/flamegraphs.html

在此整理下在linux下安装并使用火焰图的步骤:

1、火焰图依赖perf-map-agent,故首先需要安装配置该工具包:

git clone https://github.com/jvm-profiling-tools/perf-map-agent 
cd perf-map-agent
yum install cmake 
yum install gcc 
yum install gcc-c++ 
cmake . 
make 
2、安装完perf-map-agent后,即可下载火焰图的主程序了:

git clone https://github.com/brendangregg/FlameGraph.git
cd FlameGraph

3、下载完火焰图的主程序后,即可通过命令生成火焰图了:

perf record -F 49 -a -g -- sleep 30; ./jmaps
perf script > out.stacks01
cat out.stacks01 | ./stackcollapse-perf.pl | grep -v cpu_idle | ./flamegraph.pl --color=java --hash > out.stacks01.svg


perf record -F 99 -p 181 -g -- sleep 60  #监控pid为181的进程60s
perf script > out.perf
./stackcollapse-perf.pl out.perf > out.folded
./flamegraph.pl out.folded > kernel.svg #生成火焰图文件kernel.svg文件
4、使用浏览器打开生成的svg图形,即可查看抽取的60s的程序运行的火焰图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值