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
示例
bash
# 每3秒执行一次
[arthas@21536]$ dashboard -i 3000
# 每秒执行一次 4次后退出
[arthas@21536]$ dashboard -i 1000 -n 41
2
3
4
2
3
4
