image
如图会展⽰线程信息,内存信息,运⾏系统。
线程信息中包含线程id,我们可以根据线程id查看线程栈,如图main⽅法的线程id是1,我们执⾏命令:thread 1。
image image
如图,即可看到整个类的源码了。
同时,我们还可以输⼊命令:watch demo.MathGame primeFactors returnObj来查看函数的参数/返回值/异常信息。
image
5. Profiler对项⽬采样⽣成⽕焰图
Profiler命令⽀持⽣成应⽤热点的⽕焰图。本质上是通过不断的采样,然后把收集到的采样结果⽣成⽕焰图。
profiler命令基本运⾏结构是 profiler action [actionArg],我们可以通过执⾏命令:profiler actions来查看所有⽀持的action。
profiler命令的版本,可以通过命令:profiler version查看。
Profiler参数说明
参数名称参数说明
action要执⾏的操作
actionArg属性名模式
[i:]采样间隔(单位:ns)(默认值:10'000'000,即10 ms)
[f:]将输出转储到指定路径
[d:]运⾏评测指定秒
[e:]要跟踪哪个事件(cpu, alloc, lock, cache-misses等),默认是cpu
我们先看看如何查看cpu的⽕焰图。
执⾏命令:profiler start -e cpu
image
可以看到,cpu的⽕焰图正在绘制,执⾏命令profiler status可以看到profiler的状态,可以看到什么任务执⾏了多久。
image
当我们觉得检测的差不多了,可以看结果了,就执⾏命令profiler stop,会输出⼀张svg图⽚到output路径。
svg交互图文入门output路径也可以⼿动指定,执⾏命令:profiler stop --file 路径+⽂件名.svg就能在指定路径输出svg⽕焰图了。
profiler不仅能⽣成出svg⽕焰图,还能⽣成html格式,执⾏命令profile stop --format html或profile stop --file 路径+⽂件名.svg就能⽣成出来了。总结
Arthas是⼀款⼗分优秀的Java应⽤诊断利器,内置了丰富的功能命令,是Java程序员排查jvm相关问题的利器。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论