一、简介
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
官方学习文档:https://arthas.aliyun.com/doc/
二、安装
1、快速安装
使用arthas-boot
(推荐)
下载arthas-boot.jar
,然后用java -jar
的方式启动:
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
打印帮助信息:
java -jar arthas-boot.jar -h
- 如果下载速度比较慢,可以使用 aliyun 的镜像:
java -jar arthas-boot.jar --repo-mirror aliyun --use-http
2、全量安装
最新版本,点击下载: https://arthas.aliyun.com/download/latest_version?mirror=aliyun
解压后,在文件夹里有arthas-boot.jar
,直接用java -jar
的方式启动:
java -jar arthas-boot.jar
打印帮助信息:
java -jar arthas-boot.jar -h
3、手动安装
手动安装
4、通过 rpm/deb 来安装
在 releases 页面下载 rpm/deb 包: https://github.com/alibaba/arthas/releases
安装 deb
sudo dpkg -i arthas*.deb
安装 rpm
sudo rpm -i arthas*.rpm
deb/rpm 安装的用法
在安装后,可以直接执行:
as.sh
5、离线帮助文档
最新版本离线文档下载:https://arthas.aliyun.com/download/doc/latest_version?mirror=aliyun
6、卸载
-
在 Linux/Unix/Mac 平台
删除下面文件:
rm -rf ~/.arthas/ rm -rf ~/logs/arthas
-
Windows 平台直接删除 user home 下面的
.arthas
和logs/arthas
目录
三、使用
1、启动arthas
java -jar arthas-boot.jar
linux也可以使用 ./as.sh 启动
2、选择对应的服务
输入查看的java项目,我这里输的3,Arthas 会 attach 到目标进程上,并输出日志。
3、查看 dashboard
输入dashboard,按回车/enter
,会展示当前进程的信息,按ctrl+c
可以中断执行。
4、下载IDEA插件: arthas idea
点击右键获取代码对应的arthas命令
5、watch
通过watch命令来查看函数的返回值:
例如:
watch com.tmzh.saas.cmc.business.global.service.impl.DocGlobalServiceImpl getDocumentDetail '{params,returnObj,throwExp}' -n 5 -x 3
6、trace
使用trace,跟踪方法内部调用路径,并输出方法路径上的每个节点上耗时
例如:
trace com.tmzh.saas.cmc.business.global.service.impl.DocGlobalServiceImpl getDocumentDetail -n 5 --skipJDKMethod false
7、退出 arthas
如果只是退出当前的连接,可以用quit
或者exit
命令。Attach 到目标进程上的 arthas 还会继续运行,端口会保持开放,下次连接时可以直接连接上。
如果想完全退出 arthas,可以执行stop
命令。