性能分析利器arthas

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 是否抛出异常

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容