Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。- 文档: 简介 | arthas
- Github: GitHub - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas
-
dashboard命令可以查看当前系统的实时数据面板。 -
可以通过
jad命令来反编译代码:jad demo.MathGame - 可以通过
sc命令来查找JVM里已加载的类:sc -d *MathGame thread 1命令会打印线程ID 1的栈:thread 1 | grep 'main('- 通过
watch命令可以查看函数的参数/返回值/异常信息:watch demo.MathGame primeFactors returnObj
heapdump:
- heapdump --live /tmp/dump.hprof
- downloadf dump.hprof
monitor :
monitor -c 1 -n 2 com.test.Test show
- 其中
-c 1表示监控周期,每一秒监控一次,如果不指定,默认是120秒周期 -n 2表示一共监控2次,监控的方法为Test类中的show()方法,如果不指定,将会一直监控下去
watch:
watch com.test.Test show "{params,returnObj}" -x 2 -b -e -s -f
-
观察的方法为Test类下的
show()方法, -
"{params,returnObj}"是观察表达式,是一个ognl表达式, -
-x 2是指定输出结果的属性遍历深度,默认值为1,为1时看不到参数的具体值,只能看到类型; -
-b:在方法调用之前观察,用此命令可查看方法的入参 -
-e:在方法异常之后观察。用此命令可查看方法抛出的异常 -
-s:在方法返回之后观察,可查看方法的返回值 -
-f:在方法结束之后(正常返回和异常返回)观察,可查看方法的返回值和异常信息,默认打开-f
本文介绍了阿里巴巴开源的ArthasJava诊断工具,其支持在线问题排查、代码动态追踪、JVM监控以及各种命令如jad反编译、sc查找类和watch实时观察方法执行。通过详细的监控和观察选项,提升开发者的调试效率。
3267

被折叠的 条评论
为什么被折叠?



