火焰图(flame graph)是性能分析的利器,通过它可以快速定位性能瓶颈点。
perf 命令(performance 的缩写)是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。
系统版本:Centos7.6
一、配置JAVA环境
二、安装perf
yum install perf -y
三、下载FlameGraph
yum install git -y
git clone https://github.com/brendangregg/FlameGraph.git
四、假设我们要对pid为3309的进程进行性能分析
perf record -F 99 -p 3309 -g -- sleep 20
perf script -i perf.data &> perf.unfold
./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
./FlameGraph/flamegraph.pl perf.folded > perf.svg
这个perf.svg是一张图片,里面包含了很多可以用来分析性能的信息,直接在浏览器打开即可
至于具体怎么利用这些信息进行分析,等下次有时间我仔细研究再回来补充
参考链接:https://www.cnblogs.com/wx170119/p/11459995.html