在RHEL系统中快速抓取火焰图
在之前的好几篇Blog里,都使用了火焰图来对业务进行性能优化,之前为了抓取火焰图,需要用到好几个工具进行组合,流程还是比较麻烦的。随着RHEL的版本更新,Redhat提供了一个更简单快速的方法实现了一键抓取火焰图的功能。
这个功能在RHEL 8.2
及以上版本可以使用,当然RHEL对应的衍生版比如OracleLinux
、AlmaLinux
、RockyLinux
等也是可以直接使用的。
首先需要安装perf
和js-d3-flame-graph
这两个软件包:
# yum install js-d3-flame-graph perf -y
然后就可以通过perf script flamegraph -a -F 99 sleep 60
命令抓取整个系统的火焰图了,其中-a
参数表示需要记录整个系统的性能数据,-F
参数指定每秒的收集频率,sleep 60
表示收集60S的数据。
60秒后,命令自动退出并会在当前目录生成一个flamegraph.html
文件,用任意浏览器打开这个文件,即可看到火焰图。
当然,如果要收集某个进程的火焰图,可以使用perf script flamegraph -a -F 99 -p PID1,PID2 sleep 60
命令。