1. Jinfo
查看正在运行的Java应用程序的扩展参数: 包含 JVM 参数与 java 系统参数
命令: jinfo pid
2 jstat
查看堆内存使用情况及 GC 回收频率等:
jstat [-命令选项] [vmid] [间隔时间(毫秒)] [查询次数]
2.1 jstat -gc pid 最常用,可以评估程序内存使用及GC压力整体情况
S0C:第一个幸存区的大小,单位KB
S1C:第二个幸存区的大小
S0U:第一个幸存区的使用大小S1U:第二个幸存区的使用大小
EC:伊甸园区的大小
EU:伊甸园区的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法区大小(元空间)
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间,单位s
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间,单位s
GCT:垃圾回收消耗总时间,单位s
2.2 jstat -gcutil pid 查看垃圾回收统计
S0:幸存1区当前使用比例
S1:幸存2区当前使用比例
E:伊甸园区使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
2.3 查看其他类型堆内存使用统计;
// 查看堆内存统计:
jstat -gccapacity pid
// 查看老年代垃圾回收
jstat -gcold pid
// 查看新生代垃圾回收
jstat -gcnew pid
// 查看新生代内存统计
jstat -gccapacity pid
3 jstack
jstack 查看 jvm的堆栈。 命令:
jstack [-l][-e] <pid> (to connect to running process)
Options:
-l long listing. Prints additional information about locks
-e extended listing. Prints additional information about threads
-? -h --help -help to print this help message