Arthas的安装与使用
简介
Arthas是一款线上监控诊断产品,通过全局视角实时查看应用load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常、监测方法执行耗时,类加载信息等,大大提升了线上问题排查效率。
下载
下载网址: https://arthas.aliyun.com/doc/download.html
点击下载链接即可得到最新版本的zip包,我这里下载的是 arthas-packaging-4.0.4-bin.zip
解压压缩包到/opt/shen/Arthus文件夹中
unzip arthas-packaging-4.0.4-bin.zip -d /opt/shen/Arthus/
Arthas目录如下:
使用
启动Arthas并监控java进程
使用java -jar命令启动arthas-boot.jar
java -jar arthas-boot.jar
选择正在运行的java进程的序号,进入arthas命令行进行监控
常用命令列表
基础命令
命令 |
说明 |
cls |
清空当前屏幕区域 |
base64 |
base64编码转换 |
cat |
打印文件内容 |
echo |
打印参数 |
grep |
匹配查询 |
help |
查看命令帮助信息 |
history |
打印命令历史 |
pwd |
返回当前工作目录 |
session |
查看当前会话信息 |
version |
输出Arthas版本号 |
keymap |
Arthas快捷键列表 |
options |
查看或设置Arthas全局开关 |
quit |
退出当前Arthas客户端,其他Arthas客户端不受影响 |
stop |
关闭Arthas服务端,所有Arthas客户端全部退出 |
jvm相关命令
命令 |
说明 |
dashboard |
当前系统的实时数据面板,实时刷新,ctrl+c退出 |
jvm |
查看当前JVM信息 |
logger |
查看和修改logger |
memory |
查看JVM内存信息 |
sysenv |
查看JVM的环境变量 |
sysprop |
查看和修改JVM系统属性 |
thread |
查看当前JVM的线程堆栈信息 |
getstatic 全类名 静态属性名 |
查看类的静态属性 |
class/classloader相关命令
命令 |
说明 |
classloader |
查看classloader的继承树,urls,类加载信息 |
jad 全类名 |
反编译指定已加载类的源码 |
mc |
内存编译器,.java文件编译为.class文件 |
sc -d 全类名 |
查看JVM已加载的类信息 |
sm -d 全类名 |
查看已加载类的方法信息 |
monitor/watch/trace相关命令
命令 |
说明 |
monitor |
方法执行监控 |
stack |
输出当前方法被调用的调用路径 |
trace |
方法内部调用路径 |
tt |
方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息 |
watch |
方法执行数据观测 |
火焰图
命令 |
说明 |
profiler |
生成应用热点的火焰图 |
参考资料
Arthas官网: https://arthas.aliyun.com/