dashboard

显示当前系统实时数据面板

命令选项 描述
-i, --interval <number> 刷新频率默认5000ms
-n, --number-of-execution <number> 执行次数,满足次数后自动退出
-h, --help 帮助

THREAD

列名 含义
ID Java级别的线程ID,注意这个ID不能跟jstack中的nativeID对应
NAME 线程名称
GROUP 线程组名称
PRIORITY 线程优先级,1~10之间的数字,数字越大,优先级越高
STATE 线程状态
CPU% 线程的CUP使用率,比如采样间隔1000ms,某个线程的增量cpu时间为100ms,则cpu%=100/1000=10%
DELTA_TIME 上次采样之后线程运行增量CPU时间,数据单位
TIME 线程运行总CPU时间,格式分:秒
INTERRUPTED 线程当前的中断位状态
DAEMON 是否守护线程

JVM内部线程

Java 8 之后支持获取 JVM 内部线程 CPU 时间,这些线程只有名称和 CPU 时间,没有 ID 及状态等信息(显示 ID 为-1)

  • JIT编译线程

    C1 CompilerThread0, C2 CompilerThread0

  • GC线程

    GC Thread0, G1 Young RemSet Sampling

  • 其他内部线程

    VM Periodic Task Thread, VM Thread, Service Thread

线程状态

  • RUNNABLE
  • BLOCKED
  • WAITING
  • TIMED_WAITING
  • NEW
  • TERMINATED

MEMORY

名称 描述
heap 堆内存
ps_eden_space 新生代伊甸园区
ps_survivor_space 幸存区
ps_old_gen 老年代
nonheap 非堆内存
code_cache 代码缓存区
metaspace 元空间
compressed_class_space 压缩类空间
direct 使用的堆外空间
mapped 内存映射文件,nio使用

GC

名称 描述
gc.ps_scavenge.count 从应用程序启动到当前采样时间年轻代gc次数
gc.ps_scavenge.time(ms) 从应用程序启动到当前采样时间年轻代gc所用总时间
gc.ps_marksweep.count 从应用程序启动到当前采样时间老年代gc次数
gc.ps_marksweep.time(ms) 从应用程序启动到当前采样时间老年代gc所用总时间

RUNTIME

名称 描述
os.name 操作系统名称
os.version 操作系统版本号
java.version java版本号
java.home java home目录
systemload.average CPU平均负载
processors CPU逻辑处理器数量
timestamp/uptime 启动时间

TOMCAT

示例

# 每3秒执行一次
[arthas@21536]$ dashboard -i 3000
# 每秒执行一次 4次后退出
[arthas@21536]$ dashboard -i 1000 -n 4