Arthas采集火焰图
火焰图:是用图形化的方式来展现profiler工具采集的性能数据,对数据进行统计和分析,方便找出性能热点。
-
下载 arthas
curl -O https://arthas.aliyun.com/arthas-boot.jar
-
解压
#unzip arthas-packaging-3.5.4-bin.zip #java -jar /home/profiler/arthas/arthas-boot.jar
注意:只一个arthas-boot.jar是不够的,因为会调用其他库,全量下载
-
启动arthas
Quick Start
# 启动arthas java -jar arthas-boot.jar -h # 打印帮助信息 java -jar arthas-boot.jar # 指定ip和port java -jar arthas-boot.jar --target-ip 192.168.171.17 --telnet-port 3658 # 查看Java进程id #jps -l #定位到需要的Java进程,输入Java进程id #指定java pid启动:java -jar arthas-boot.jar 22719 # 退出 arthas exit
-
采集火焰图
profiler$ profiler start > Started [cpu] profiling $ profiler getSamples > 25 $ profiler status > [perf] profiling is running for 21 seconds $ profiler stop --format html > OK # 输出文件格式 # 输出html格式 profiler stop --format html --file /home/profiler/arthas/20211230-1540.html # 输出图像格式 profiler stop --format svg --file /home/profiler/arthas/20211231-1111-atms.svg
点开性能损耗严重的地方可以看放大的详情图
参考:JVM那点事—火焰图(flame graph)性能分析