Java诊断神器Arthas

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。

启动Arthas

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
命令 功能
dashboard 当前系统的实时数据面板
sc 查看JVM已加载的类信息
sm 查看已加载类的方法信息
jad 反编译指定已加载类的源码
thread 查看当前JVM的线程堆栈信息
watch 方法执行数据观测
trace 方法内部调用路径,并输出方法路径上的每个节点上耗时
stack 输出当前方法被调用的调用路径
tt 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测
monitor 方法执行监控
classloader 查看 classloader的继承树,urls,类加载信息
heapdump 类似jmap命令的 heap dump功能

查看dashboard

输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行。

thread

thread -n 3 前最忙的前N个线程并打印堆栈

thread -b, 找出当前阻塞其他线程的线程

thread -i  指定采样时间间隔

thread -i 1000 : 统计最近1000ms内的线程CPU时间。
thread -n 3 -i 1000 : 列出1000ms内最忙的3个线程栈

thread --state 查看指定状态的线程

thread --state WAITING

jad

watch

函数执行数据观测,可以查看指定函数的调用情况。能观察到的范围为:返回值抛出异常入参。

jvm

trace

查看函数的返回值

猜你喜欢

转载自blog.csdn.net/sundehui01/article/details/121921481