Arthas是一款阿里巴巴开源的 Java 线上诊断工具,功能比较强大,深受Java开发者喜爱。
那么Arthas能解决什么问题?官网的解释:
1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
2、我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
3、遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
4、线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
5、是否有一个全局视角来查看系统的运行状况?
6、有什么办法可以监控到JVM的实时运行状态?
功能这么强大,会不会很重量级,安装起来很麻烦呢?恰恰相反,在Linux/Unix/Mac下只需要执行:curl -L https://arthas.aliyun.com/install.sh | sh 便能完成Arthas安装,安装完会得到一个as.sh脚本,执行该脚本就启动了Arthas,是不是很简单。
官网推荐下载arthas-boot.jar来启动Arthas,如下两条命令完成下载与启动:
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
上面讲到安装与启动,下面介绍几种常见的用法
启动Arthas,需要选择一个目标Java进程,界面如下: