性能分析利器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 是否抛出异常

上一篇下一篇

猜你喜欢

热点阅读