该工具可以查看JVM加载的类的数量、堆内存各部分的使用量以及垃圾回收统计,命令格式如下所示
jstat <-选项> <进程ID> <间隔时间/毫秒> <查询次数>
类加载统计:jstat -class <pid>
Loaded | 加载class的数量 |
Bytes | 加载的class所占用空间大小 |
Unloaded | 未加载class的数量 |
Bytes | 未加载的class所占用空间大小 |
Time | 加载class累计耗时 |
垃圾回收统计:jstat -gc <pid>
S0C | 第一个幸存区容量(单位KB) |
S1C | 第二个幸存区容量(单位KB) |
S0U | 第一个幸存区已使用的大小(单位KB) |
S1U | 第二个幸存区已使用的大小(单位KB) |
EC | Eden区容量(单位KB) |
EU | Eden区已使用的大小(单位KB) |
OC | 老年代容量(单位KB) |
OU | 老年代已使用的大小(单位KB) |
MC | 元空间容量(单位KB) |
MU | 元空间已使用的大小(单位KB) |
CCSC | 压缩类空间容量(单位KB) |
CCSU | 压缩类空间已使用的大小(单位KB) |
YGC | Minor GC累计次数 |
YGCT | Minor GC累计耗时 |
FGC | Full GC累计次数 |
FGCT | Full GC累计耗时 |
GCT | GC累计总耗时(包括MinorGC、Full GC) |
堆内存统计:jstat -gccapacity <pid>
NGCMN | 新生代最小容量(单位KB) |
NGCMX | 新生代最大容量(单位KB) |
NGC | 当前新生代大小(单位KB) |
S0C | 第一个幸存区大小(单位KB) |
S1C | 第二个幸存区大小(单位KB) |
EC | Eden区大小(单位KB) |
OGCMN | 老年代最小容量(单位KB) |
OGCMX | 老年代最大容量(单位KB) |
OGC | 当前老年代大小(单位KB) |
OC | 当前老年代大小(单位KB) |
MCMN | 元空间最小容量(单位KB) |
MCMX | 元空间最大容量(单位KB) |
MC | 当前元空间大小(单位KB) |
CCSMN | 压缩类空间最小容量(单位KB) |
CCSMX | 压缩类空间最大容量(单位KB) |
CCSC | 当前压缩类空间大小(单位KB) |
YGC | Minor GC累计次数 |
FGC | Full GC累计次数 |
新生代垃圾回收统计:jstat -gcnew <pid>
S0C | 第一个幸存区容量(单位KB) |
S1C | 第二个幸存区容量(单位KB) |
S0U | 第一个幸存区已使用大小(单位KB) |
S1U | 第二个幸存区已使用大小(单位KB) |
TT | 对象在新生代存活的次数(单位KB) |
MTT | 对象在新生代存活的最大次数(单位KB) |
DSS | 期望的幸存区大小(单位KB) |
EC | Eden区容量(单位KB) |
EU | Eden区已使用大小(单位KB) |
YGC | Minor GC累计次数 |
YGCT | Minor GC累计耗时 |
新生代内存统计:jstat -gcnewcapacity <pid>
NGCMN | 新生代最小容量(单位KB) |
NGCMX | 新生代最大容量(单位KB) |
NGC | 当前新生代大小(单位KB) |
S0CMX | 第一个幸存区最大容量(单位KB) |
S0C | 当前第一个幸存区大小(单位KB) |
S1CMX | 第二个幸存区最大容量(单位KB) |
S1C | 第二个幸存区大小(单位KB) |
ECMX | Eden区最大容量(单位KB) |
EC | 当前Eden大小(单位KB) |
YGC | Minor GC累计次数 |
FGC | Full GC累计次数 |
老年代垃圾回收统计:jstat -gcold <pid>
MC | 元空间大小(单位KB) |
MC | 元空间已使用大小(单位KB) |
CCSC | 压缩类空间大小(单位KB) |
CCSU | 压缩类空间已使用大小(单位KB) |
OC | 老年代大小(单位KB) |
OU | 老年代已使用大小(单位KB) |
YGC | Minor GC累计次数 |
FGC | Full GC累计次数 |
FGCT | Full GC累计耗时 |
GCT | GC累计总耗时(包括MinorGC、Full GC) |
老年代内存统计:jstat -gcoldcapacity <pid>
OGCMN | 老年代最小容量(单位KB) |
OGCMX | 老年代最大容量(单位KB) |
OGC | 当前老年代大小(单位KB) |
OC | 当前老年代大小(单位KB) |
YGC | Minor GC累计次数 |
FGC | Full GC累计次数 |
FGCT | Full GC累计耗时 |
GCT | GC累计总耗时(包括MinorGC、Full GC) |
元空间内存统计:jstat -gcmetacapacity <pid>
MCMN | 元空间最小容量(单位KB) |
MCMX | 元空间最大容量(单位KB) |
MC | 当前元空间大小(单位KB) |
CCSMN | 压缩类空间最小容量(单位KB) |
CCSMX | 压缩类空间最大容量(单位KB) |
CCSC | 当前类压缩空间大小(单位KB) |
YGC | Minor GC累计次数 |
FGC | Full GC累计次数 |
FGCT | Full GC累计耗时 |
GCT | GC累计总耗时(包括MinorGC、Full GC) |
整体垃圾回收统计:jstat -gcutil <pid>
S0 | 第一个幸存区已使用占比(%) |
S1 | 第二个幸存区已使用占比(%) |
E | Eden区已使用占比(%) |
O | 老年代已使用占比(%) |
M | 元空间已使用占比(%) |
CCS | 压缩类空间已使用占比(%) |
YGC | Minor GC累计次数 |
YGCT | Minor GC累计耗时 |
FGC | Full GC累计次数 |
FGCT | Full GC累计耗时 |
GCT | GC累计总耗时(包括MinorGC、Full GC) |
参考文章