- 安装:
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