概述
火焰图是个比较方便查看程序资源占用的图形,由于其外表看起来像一团火焰,故命名为火焰图,其形状如下图所示:
注意:图案中的颜色是随机的,无参考意义,而是通过观看水平条的宽度来区分占用资源的操作的,条越宽,说明占用的资源越多,越需要关注或优化
火焰图的说明,可参考地址: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的程序运行的火焰图
最后
以上就是稳重月亮为你收集整理的在centos linux 环境下使用火焰图的全部内容,希望文章能够帮你解决在centos linux 环境下使用火焰图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复