常用命令
- top
用于观察CPU,内存使用情况
# 查看指定进程CPU,内存
top -p PID
# 查看指定进程下各线程CPU,内存使用情况
top -Hp PID
属性 | 说明 |
---|---|
top | 系统当前时间 |
up | 机器运行时间 |
users | 用户数 |
load average | 系统平均负载压力(1min,5min,15min) |
Tasks | 进程信息(total进程总数running运行数,sleeping休眠数,stopped停止数,zombie假死数) |
%Cpu | us用户模式CPU占用率,sy系统模式下CPU占用率(其他不用关心) |
mem | 物理内存(total物理内存总量,free剩余,used已使用,buffers缓存内存大小) |
swap | 虚拟内存(同上) |
- jps
查询进程信息
命令 | 说明 |
---|---|
jps | 显示虚拟机所有进程 |
jps -l | 显示虚拟机所有进程(PID,类全名) |
jps -v | 显示虚拟机所有进程(PID,启动参数) |
- jstat
JVM Statistics Monitoring Tool
可以使用jstack --help,查看用法(估计还是看不太懂,记住[ ]内容可选且使用时需要去掉,<>必须替换的表达式,X|Y|Z只能选一个)
有个Usage选项,可以使用一下,查看options
上述指令说明
指令格式 | 说明 |
---|---|
class | 监视类装载,卸载数量,总空间,及类装载所耗费时间 |
compiler | 输出JIT编译器编译过的方法,耗时等信息 |
printcompilation | 输出已经被JIT编译的方法 |
gc | 监视java堆情况 |
gccapacity | 与gc基本相同,主要关注java堆各区域使用到的最大,最小空间 |
gcnew | 监视新生代GC情况 |
gcnewcapacity | 监视新生代GC情况,输出主要关注使用到的最大,最小空间 |
gcold | 监视老年代GC情况 |
gcoldcapacity | 监视老年代GC情况,输出主要关注使用到的最大最小空间 |
gcutil | 与gc基本相同,主要关注已使用空间占总空间的百分比 |
结果表
字段 | 含义 |
---|---|
S0C | S0 capacity |
S1C | S1 capacity |
S0U | S0 used |
S1U | S1 used |
EC | Eden capacity |
EU | Eden used |
OC | Old capacity |
OU | Old used |
MC | Metaspace capacity |
MU | Metaspace capacity |
CCSC | Compressed Class Pointer Space capacity |
CCSU | Compressed Class Pointer Space used |
YGC | Young GC |
YGCT | Young GC Time |
FGC | Full GC |
FGCT | Full GC Time |
GCT | GC Time |
-
jstack
堆栈跟踪工具,定位线程出现长时间停顿的原因 -
jinfo
实时查看和调整虚拟机各项参数 -
jmap
内存映像工具(快照) -
jhat
快照分析工具
常用可视化工具
- JConsole:java监视与管理控制台
- VisualVM:多合一故障处理工具