概述
前提
提前安装 Arthas
profiler 命令生成火焰图
profiler 命令原理使用 async-profiler 生成火焰图
profiler 命令支持生成应用热点的火焰图。本质上是通过不断的采样,然后把收集到的采样结果生成火焰图。
profiler 命令基本运行结构是 profiler action [actionArg]
查看所有支持的 action:
[arthas@9737]$ profiler actions
Supported Actions: [resume, dumpCollapsed, getSamples, start, list, execute, version, stop, load, dumpFlat, actions, dumpTraces, status]
[arthas@9737]$
查看版本:
[arthas@9737]$ profiler version
1.8.3
[arthas@9737]$
启动 profiler:
[arthas@9737]$ profiler start
Started [cpu] profiling
[arthas@9737]$
默认情况下,生成的是cpu的火焰图
获取已采集的 sample 的数量:
[arthas@9737]$ profiler getSamples
12
[arthas@9737]
查看 profiler 状态:
可以查看当前 profiler 在采样哪种 event 和采样时间。
[arthas@9737]$ profiler status
[perf] profiling is running for 166 seconds
[arthas@9737]$
停止 profiler 生成 svg 格式结果
[arthas@9737]$ profiler stop
OK
profiler output file: /root/arthas-output/20210318-190449.svg
[arthas@9737]$
通过浏览器查看 arthas-output 下面的 profiler 结果:
默认情况下,arthas 使用 8563 http端口,则可以打开: http://192.168.189.131:8563/arthas-output/ 目录下面的profiler 结果:
profiler支持的events:
在不同的平台,不同的OS下面,支持的events各有不同
[arthas@9737]$ profiler list
Basic events:
cpu
alloc
lock
wall
itimer
Java method calls:
ClassName.methodName
Perf events:
page-faults
context-switches
cycles
instructions
cache-references
cache-misses
branches
branch-misses
bus-cycles
L1-dcache-load-misses
LLC-load-misses
dTLB-load-misses
mem:breakpoint
trace:tracepoint
[arthas@9737]$
最后
以上就是典雅蜗牛为你收集整理的Arthas-Java 问题定位的终极利器-火焰图的全部内容,希望文章能够帮你解决Arthas-Java 问题定位的终极利器-火焰图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复