阿里巴巴开源框架java诊断工具--Arthas

下载:arthas
wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar --target-ip 0.0.0.0

当在本地启动时,可以访问 http://127.0.0.1:8563/ ,通过浏览器来使用Arthas。
默认情况下, arthas server侦听的是 127.0.0.1 这个IP,如果希望远程可以访问,可以使用--target-ip的参数。
java -jar arthas-boot.jar --target-ip

dashboard 命令可以查看当前系统的实时数据面板。输入Q退出。

thread 1 打印线程ID 1 的 栈。支持管道 

可以通过 sc 命令来查找JVM里已加载的类
可以通过 jad 命令来反编译代码
通过watch命令可以查看函数的参数/返回值/异常信息。
exit/shutdown
 sysprop
sysprop 可以打印所有的System Properties信息。
也可以指定单个key: sysprop java.version
也可以通过grep来过滤: sysprop | grep user
可以设置新的value: sysprop testKey testValue

sysenv
sysenv 命令可以获取到环境变量。和sysprop命令类似。
jvm
jvm 命令会打印出JVM的各种详细信息。

sc 命令可以查找到所有JVM已经加载到的类
sm命令则是查找类的具体函数

列出ClassLoader 
classloader -1

案例:查找Top N线程
查看所有线程信息
thread
查看具体线程的栈
查看线程ID 16的栈:
thread 16
查看CPU使用率top n线程的栈
thread -n 3
查看5秒内的CPU使用率top n线程栈
thread -n 3 -i 5000
查找线程是否有阻塞
thread -b

 

上一篇:使用Arthas 获取Spring ApplicationContext还原问题现场


下一篇:架构师小跟班:推荐一款Java在线诊断工具,arthas入门及使用教程