性能分析利器arthas
2019-05-05 本文已影响0人
阿福德
What arthas 是什么
是Alibaba开源的Java诊断工具,在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。
下载arthas
wget https://alibaba.github.io/arthas/arthas-boot.jar
启动arthas
1、 java -jar arthas-boot.jar
2、按照序号选择进程
常用功能
sc search-class 查找类
sc ClassName
说明
可以使用通配符, 比如: sc sun.util.resources.P
sm search-method 查找方法
sm ClassName
trace 查看方法中的子调用的耗时
trace ClassName methodName -n 2
说明:
ClassName: 全限定类名
methodName: 方法名
-n 2 表示只打印2次
stack 查看方法的调用栈信息。
stack ClassName methodName -n 2
说明:
同trace
watch 查看方法的返回值
watch ClassName methodName returnObj -n 2
说明:
returnObj 表示返回值
watch 查看方法参数的值
watch ClassName methodName params[0] -n 2
说明:
params[0] 表示方法的第一个参数
getstatic 查看静态属性的值(也可以获取private的属性)
getstatic ClassName variableName
说明:
ClassName: 全限定类名
variableName: 属性名
jad 反编译,主要用作确定运行代码是否为你要想的代码。
jad ClassName
tt time-tunnel 时空隧道, 查看方法执行的时间,是否正常返回等
tt -t ClassName methodName -n 2
说明:
返回中:
INDEX 序号, 可以通过tt -i index -p 进行重放的。
IS-RET 是否正常返回
IS-EXP 是否抛出异常