- 安装:
curl -O arthas.aliyun.com/arthas-boot…
- 启动:
java -jar arthas-boot.jar
- 基础命令
命令 | 说明 |
help | 查看命令帮助信息 |
cat | 打印文件内容,和 linux 里的 cat 命令类似 |
echo | 打印参数,和 linux 里的 echo 命令类似 |
grep | 匹配查找,和 linux 里的 grep 命令类似 |
tee | 复制标准输入到标准输出和指定的文件,和 linux 里的 tee 命令类似 |
pwd | 返回当前的工作目录,和 linux 命令类似 |
cls | 清空当前屏幕区域 |
session | 查看当前会话的信息 |
reset | 重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类 |
version | 输出当前目标 Java 进程所加载的 Arthas 版本号 |
history | 打印命令历史 |
quit | 退出当前 Arthas 客户端,其他 Arthas 客户端不受影响 |
stop | 关闭 Arthas 服务端,所有 Arthas 客户端全部退出 |
keymap | Arthas 快捷键列表及自定义快捷键 |
- jvm相关
命令 | 说明 |
dashboard | 当前系统的实时数据面板 |
thread | 查看当前 JVM 的线程堆栈信息 |
jvm | 查看当前 JVM 的信息 |
sysprop | 查看和修改 JVM 的系统属性 |
sysenv | 查看 JVM 的环境变量 |
vmoption | 查看和修改 JVM 里诊断相关的 option |
perfcounter | 查看当前 JVM 的 Perf Counter 信息 |
logger | 查看和修改 logger |
getstatic | 查看类的静态属性 |
ognl | 执行 ognl 表达式 |
mbean | 查看 Mbean 的信息 |
heapdump | dump java heap, 类似 jmap 命令的 heap dump 功能 |
- class/classloader相关
命令 | 说明 |
sc | 查看 JVM 已加载的类信息 |
sm | 查看已加载类的方法信息 |
jad | 反编译指定已加载类的源码 |
mc | 内存编译器,内存编译 .java 文件为 .class 文件 |
redefine | 加载外部的 .class 文件,redefine 到 JVM 里 |
dump | dump 已加载类的 byte code 到特定目录 |
classloader | 查看 classloader 的继承树,urls,类加载信息,使用 classloader 去 getResource |
- monitor/watch/trace相关
- monitor 方法执行监控
monitor -c 5 demo.MathGame primeFactors
-c 5 未统计周期默认 120s
- watch 能观察到的范围为:返回值、抛出异常、入参
watch demo.MathGame primeFactors “{params,target,returnObj}” -x 2 -b -s -n 2
-x 2 输出结果的属性遍历深度
-b 方法调用前
-s 方法返回后
-n 2 执行2次
watch demo.MathGame primeFactors “{params[0],throwExp}” -e -x 2
-e表示抛出异常时才触发
- trace 方法内部调用路径,并输出方法路径上的每个节点上耗时
trace demo.MathGame run