jstat [Options] vmid [interval] [count]
参数说明:
Options 选项,我们一般使用 -gcutil 查看gc情况
vmid VM的进程号,即当前运行的java进程号
interval 间隔时间,单位为秒或者毫秒
count 打印次数,如果缺省则打印无数次
[root@localhost conf]# jstat -gc 82042 5000 5
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.capacity substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.used substituted NaN
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
57344.0 59904.0 0.0 26473.8 1625600.0 908213.1 3841024.0 158598.0 � � 45 1.409 4 0.796 2.205
57344.0 59904.0 0.0 26473.8 1625600.0 915838.6 3841024.0 158598.0 � � 45 1.409 4 0.796 2.205
57344.0 59904.0 0.0 26473.8 1625600.0 966997.6 3841024.0 158598.0 � � 45 1.409 4 0.796 2.205
57344.0 59904.0 0.0 26473.8 1625600.0 994243.8 3841024.0 158598.0 � � 45 1.409 4 0.796 2.205
57344.0 59904.0 0.0 26473.8 1625600.0 1044378.2 3841024.0 158598.0 � � 45 1.409 4 0.796 2.205
结果说明
S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
NGCMN:年轻代(young)中初始化(最小)的大小 (字节)
NGCMX:年轻代(young)的最大容量 (字节)
NGC:年轻代(young)中当前的容量 (字节)
OGCMN:old代中初始化(最小)的大小 (字节)
OGCMX:old代的最大容量 (字节)
OGC:old代当前新生成的容量 (字节)
PGCMN:perm代中初始化(最小)的大小 (字节)
PGCMX:perm代的最大容量 (字节)
PGC:perm代当前新生成的容量 (字节)
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)
S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)
ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)
DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)
TT: 持有次数限制
MTT : 最大持有次数限制
类加载统计
root@localhost conf]# jstat -class 82042
Loaded Bytes Unloaded Bytes Time
20763 37909.4 7 7.0 14.34
- Loaded:加载class的数量
- Bytes:所占用空间大小
- Unloaded:未加载数量
- Bytes:未加载占用空间
- Time:时间
编译统计
[root@localhost conf]# jstat -compiler 82042
Compiled Failed Invalid Time FailedType FailedMethod
27961 4 0 199.71 1 com/fasterxml/jackson/core/json/ReaderBasedJsonParser nextToken
- Compiled:编译数量。
- Failed:失败数量
- Invalid:不可用数量
- Time:时间
- FailedType:失败类型
- FailedMethod:失败的方法
垃圾回收统计
[root@localhost conf]# jstat -gc 82042
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.capacity substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.used substituted NaN
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
46592.0 47104.0 34127.6 0.0 1653248.0 1024501.1 3841024.0 166616.9 � � 52 1.535 4 0.796 2.331
- S0C:第一个幸存区的大小
- S1C:第二个幸存区的大小
- S0U:第一个幸存区的使用大小
- S1U:第二个幸存区的使用大小
- EC:伊甸园区的大小
- EU:伊甸园区的使用大小
- OC:老年代大小
- OU:老年代使用大小
- MC:方法区大小
- MU:方法区使用大小
- CCSC:压缩类空间大小
- CCSU:压缩类空间使用大小
- YGC:年轻代垃圾回收次数
- YGCT:年轻代垃圾回收消耗时间
- FGC:老年代垃圾回收次数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
堆内存统计
[root@localhost conf]# jstat -gccapacity 82042
Warning: Unresolved Symbol: sun.gc.generation.2.minCapacity substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.maxCapacity substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.capacity substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.capacity substituted NaN
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC
1747456.0 2097152.0 1747456.0 45568.0 47104.0 1653248.0 3495424.0 4194304.0 3841024.0 3841024.0 � � � � 53 4
- NGCMN:新生代最小容量
- NGCMX:新生代最大容量
- NGC:当前新生代容量
- S0C:第一个幸存区大小
- S1C:第二个幸存区的大小
- EC:伊甸园区的大小
- OGCMN:老年代最小容量
- OGCMX:老年代最大容量
- OGC:当前老年代大小
- OC:当前老年代大小
- MCMN:最小元数据容量
- MCMX:最大元数据容量
- MC:当前元数据空间大小
- CCSMN:最小压缩类空间大小
- CCSMX:最大压缩类空间大小
- CCSC:当前压缩类空间大小
- YGC:年轻代gc次数
- FGC:老年代GC次数
新生代垃圾回收统计
[root@localhost conf]# jstat -gcnew 82042
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
45568.0 44032.0 26645.3 0.0 15 15 44032.0 1657856.0 1637162.1 54 1.573
- S0C:第一个幸存区大小
- S1C:第二个幸存区的大小
- S0U:第一个幸存区的使用大小
- S1U:第二个幸存区的使用大小
- TT:对象在新生代存活的次数
- MTT:对象在新生代存活的最大次数
- DSS:期望的幸存区大小
- EC:伊甸园区的大小
- EU:伊甸园区的使用大小
- YGC:年轻代垃圾回收次数
- YGCT:年轻代垃圾回收消耗时间
新生代内存统计
[root@localhost conf]# jstat -gcnewcapacity 82042
NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC
1747456.0 2097152.0 1747456.0 698880.0 43008.0 698880.0 41472.0 2096128.0 1662976.0 56 4
- NGCMN:新生代最小容量
- NGCMX:新生代最大容量
- NGC:当前新生代容量
- S0CMX:最大幸存1区大小
- S0C:当前幸存1区大小
- S1CMX:最大幸存2区大小
- S1C:当前幸存2区大小
- ECMX:最大伊甸园区大小
- EC:当前伊甸园区大小
- YGC:年轻代垃圾回收次数
- FGC:老年代回收次数
老年代垃圾回收统计
[root@localhost conf]# jstat -gcold 82042
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.capacity substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.used substituted NaN
PC PU OC OU YGC FGC FGCT GCT
� � 3841024.0 171899.6 57 4 0.796 2.423
- MC:方法区大小
- MU:方法区使用大小
- CCSC:压缩类空间大小
- CCSU:压缩类空间使用大小
- OC:老年代大小
- OU:老年代使用大小
- YGC:年轻代垃圾回收次数
- FGC:老年代垃圾回收次数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
老年代内存统计
[root@localhost conf]# jstat -gcoldcapacity 82042
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
3495424.0 4194304.0 3841024.0 3841024.0 57 4 0.796 2.423
- OGCMN:老年代最小容量
- OGCMX:老年代最大容量
- OGC:当前老年代大小
- OC:老年代大小
- YGC:年轻代垃圾回收次数
- FGC:老年代垃圾回收次数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
总结垃圾回收统计
[root@localhost conf]# jstat -gcutil 82042
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.capacity substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.used substituted NaN
Warning: Unresolved Symbol: sun.gc.generation.2.space.0.capacity substituted NaN
S0 S1 E O P YGC YGCT FGC FGCT GCT
62.31 0.00 53.69 4.51 � 58 1.644 4 0.796 2.440
- S0:幸存1区当前使用比例
- S1:幸存2区当前使用比例
- E:伊甸园区使用比例
- O:老年代使用比例
- M:元数据区使用比例
- CCS:压缩使用比例
- YGC:年轻代垃圾回收次数
- FGC:老年代垃圾回收次数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
JVM编译方法统计
[root@localhost conf]# jstat -printcompilation 82042
Compiled Size Type Method
29091 257 1 org/apache/cxf/phase/PhaseChainCache$ChainHolder matches
- Compiled:最近编译方法的数量
- Size:最近编译方法的字节码数量
- Type:最近编译方法的编译类型。
- Method:方法名标识。