1. 安装
第一步: 下载arthas对应jar包
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
第二步:配置环境变量
配置环境变量classpath
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home
export M2_HOME=/Users/tangqiao/Documents/maven/apache-maven-3.8.6
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
第三步:运行arthas
可以通过脚本运行
curl -L https://arthas.aliyun.com/install.sh | sh
./as.sh
第四步:通过浏览器访问
http://localhost:8563/
2. 命令的使用
2.1 jvm相关
1)dashboard命令
image.png
-i 刷新实时数据的时间间隔 (ms),默认 5000ms
-n | 刷新实时数据的次数
例如:dashboard -i 2000 -n 5 ,表示2秒刷新一次,刷新5次
- ID: Java 级别的线程 ID,注意这个 ID 不能跟 jstack 中的 nativeID 一一对应。
- NAME: 线程名
- GROUP: 线程组名
- PRIORITY: 线程优先级, 1~10 之间的数字,越大表示优先级越高
- STATE: 线程的状态
- CPU%: 线程的 cpu 使用率。比如采样间隔 1000ms,某个线程的增量 cpu 时间为 100ms,则 cpu 使用率=100/1000=10%
- DELTA_TIME: 上次采样之后线程运行增量 CPU 时间,数据格式为
秒
- TIME: 线程运行总 CPU 时间,数据格式为
分:秒
- INTERRUPTED: 线程当前的中断位状态
- DAEMON: 是否是 daemon 线程
-
getstatic
image.png -
jvm
image.png
- COUNT: JVM 当前活跃的线程数
- DAEMON-COUNT: JVM 当前活跃的守护线程数
- PEAK-COUNT: 从 JVM 启动开始曾经活着的最大线程数
- STARTED-COUNT: 从 JVM 启动开始总共启动过的线程次数
- DEADLOCK-COUNT: JVM 当前死锁的线程数
-
memory
查看JVM内存信息
image.png -
ognl
image.png -
sysenv
查看环境变量
image.png -
thread
查看当前线程信息,查看线程的堆栈
image.png -
vmoption
查看,更新 VM 诊断相关的参数
-
vmtool
利用JVMTI接口,实现查询内存对象
强制 GC 等功能。
image.png
10 ) monitor方法执行监控
image.png
-
stack
输出当前方法被调用的调用路径
image.png -
trace
方法内部调用路径,并输出方法路径上的每个节点上耗时
image.png -
tt
方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测
image.png -
watch
函数执行数据观测
image.png
网友评论