Arthas(阿尔萨斯)
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!(Arthas 可以打印指定方法传入参数)
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到JVM的实时运行状态?
Arthas支持JDK 6+,支持Linux/Mac/Winodws,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
一、安装
官网网址:https://alibaba.github.io/arthas/
可执行文件下载地址:https://alibaba.github.io/arthas/manual-install.html
下载完成解压
(1)指定 pid 直接开启:
windows: ./as.bat {pid}
linux:./as.sh {pid}
开启完成之后如下图
(2)开启然后通过命令选择指定 pid
java -jar arthas-boot.jar , 然后选择指定的线程id,这里我选择的是 1 pid=8376
二、命令解释
有以下这么多个可以使用的命令
命令使用直接看 https://alibaba.github.io/arthas/commands.html (我觉得也没他写的好。。)
sc 使用
sm 使用
jad使用(反编译)