我是靠谱客的博主 稳重月亮,最近开发中收集的这篇文章主要介绍在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的程序运行的火焰图

最后

以上就是稳重月亮为你收集整理的在centos linux 环境下使用火焰图的全部内容,希望文章能够帮你解决在centos linux 环境下使用火焰图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部