Arthas的JVM相关命令
dashboard

当前系统的实时数据面板
线程:
- 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 线程
内存:
- used:当前使用了多少内存
- total:总共分配了多少内存
- max:最大使用了多少
- usage:使用比
- gc:垃圾回收器
thread
查看当前线程信息,查看线程的堆栈,参数说明:

指定采样时间:
thread -i 1000 -n 3
隔 1 秒钟之后取样。
查看指定状态的线程:
thread --state WAITING

jvm
查看当前 JVM 信息:

THREAD 相关:
- COUNT:JVM 当前活跃的线程数
- DAEMON-COUNT:JVM 当前活跃的守护线程数
- PEAK-COUNT:从 JVM 启动开始曾经活着的最大线程数
- STARTED-COUNT:从 JVM 启动开始总共启动过的线程次数
- DEADLOCK-COUNT:JVM 当前死锁的线程数
文件描述符相关:
- MAX-FILE-DESCRIPTOR-COUNT:JVM 进程最大可以打开的文件描述符数
- OPEN-FILE-DESCRIPTOR-COUNT:JVM 当前打开的文件描述符数
sysprop
查看当前 JVM 的系统属性:

- 查看所有属性:sysprop
- 查看单个属性:sysprop java.version
修改单个属性:
sysprop user.country
sysprop user.country CN

sysenv
查看当前 JVM 的环境属性:
- sysenv:查看所有
- sysenv USER:查看指定的信息


vmoption
查看,更新 VM 诊断相关的参数:
- vmoption:查看所有的 option
- vmoption KEY:查看指定的option

getstatic
通过 getstatic 命令可以方便的查看类的静态属性:
getstatic demo.MathGame random

ognl
执行 ognl 表达式,从 3.0.5 版本增加,参数说明如下:

调用静态函数:
ognl '@java.lang.System@out.println("hello")'

获取静态类的静态字段:
ognl '@demo.MathGame@random'

执行多行表达式,赋值给临时变量:
ognl '#value1=@System@getProperty("java.home"), #value2=@System@getProperty("java.runtime.name"), {#value1, #value2}'



浙公网安备 33010602011771号