java 15: jstat查看gc状态
一,jstat:查看帮助或选项
[lhdop@blog ~]$ jstat --help Usage: jstat --help|-options jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] ...
[lhdop@blog ~]$ jstat -options -class -compiler -gc -gccapacity -gccause -gcmetacapacity -gcnew -gcnewcapacity -gcold -gcoldcapacity -gcutil -printcompilation
说明:刘宏缔的架构森林是一个专注架构的博客,
网站:https://blog.imgtouch.com
本文: https://blog.imgtouch.com/index.php/2023/06/01/java-15-jstat-zha-kan-gc-zhuang-tai/
对应的源码可以访问这里获取: https://github.com/liuhongdi/
或: https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,jstat查看gc的常用命令
[lhdop@blog ~]$ jps 24723 Jps 20756 storeback-0.0.1-SNAPSHOT.jar
[lhdop@blog ~]$ jstat -gc 20756 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT CGC CGCT GCT 0.0 6144.0 0.0 4712.7 73728.0 0.0 57344.0 34393.5 61132.0 59888.7 7372.0 6980.1 19 0.172 0 0.000 6 0.019 0.191
S0C: survivor 0区域的容量,以KB为单位
S1C: survivor 1区域的容量,以KB为单位
S0U: survivor 0区域的使用大小,以KB为单位
S1U: survivor 1区域的使用大小,以KB为单位
EC: Eden区域的容量,以KB为单位
EU: Eden区域的使用,以KB为单位
MC: Metaspace元数据区的 Committed Size,以KB为单位
MU: Metaspace元数据区的使用大小,以KB为单位
CCSC: Compressed class的Committed Size,以KB为单位
CCSU: Compressed class的使用大小,以KB为单位
OC: old区域的容量,以KB为单位
OU: old区域的使用,以KB为单位
YGC: young generation(年轻代)的GC次数
YGCT: young generation(年轻代)的GC消耗时间
FGC: full GC的次数
FGCT: full GC的消耗时间
CGC: 并发GC次数(G1 gc)
CGCT: 并发GC的消耗时间(G1 gc)
GCT: GC总消耗时间
[lhdop@blog ~]$ jstat -gccause 20756 S0 S1 E O M CCS YGC YGCT FGC FGCT CGC CGCT GCT LGCC GCC 0.00 76.70 52.78 59.98 97.97 94.68 19 0.172 0 0.000 6 0.019 0.191 G1 Evacuation Pause No GC
S0: survivor 0区域的使用比例
S1: survivor 1区域的使用比例
E: Eden区域的使用比例
O: Old区域的使用比例
M: 元数据区域的使用比例
CCS: Compressed class空间的使用比例
YGC: young generation(年轻代)的GC次数
YGCT: young generation(年轻代)的GC消耗时间
FGC: full GC的次数
FGCT: full GC的消耗时间
CGC: 并发GC次数(G1 gc)
CGCT: 并发GC的消耗时间(G1 gc)
GCT: GC总消耗时间
LGCC: 上次GC的原因
GCC: 当前GC的原因
[lhdop@blog ~]$ jstat -gcutil 20756 S0 S1 E O M CCS YGC YGCT FGC FGCT CGC CGCT GCT 0.00 76.70 58.33 59.98 97.97 94.68 19 0.172 0 0.000 6 0.019 0.191
[lhdop@blog ~]$ jstat -gcnew 20756 S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT 0.0 6144.0 0.0 4712.7 15 15 5120.0 73728.0 57344.0 19 0.172
S0C: survivor 0区域的容量
S1C: survivor 1区域的容量
S0U: survivor 0区域的使用大小,以KB为单位
S1U: survivor 1区域的使用大小,以KB为单位
TT: Tenuring threshold(新生代晋升到老年代的阀值)
MTT: 最大的Tenuring threshold
DSS: 所需的survivor区大小
EC: Eden区域的容量
EU: Eden区域的使用,以KB为单位
YGC: young generation(年轻代)GC次数
YGCT: young generation(年轻代)GC所需的时间
[lhdop@blog ~]$ jstat -gcold 20756 MC MU CCSC CCSU OC OU YGC FGC FGCT CGC CGCT GCT 61132.0 59888.7 7372.0 6980.1 57344.0 34393.5 19 0 0.000 6 0.019 0.191
MC: Metaspace元数据区的 Committed Size,以KB为单位
MU: Metaspace元数据区的使用大小,以KB为单位
CCSC: Compressed class的Committed Size,以KB为单位
CCSU: Compressed class的使用大小,以KB为单位
OC: old区域的容量,以KB为单位
OU: old区域的使用,以KB为单位
YGC: young generation(年轻代)的GC次数
FGC: full GC的次数
FGCT: full GC的时间
CGC: 并发GC次数(G1 gc)
CGCT: 并发GC的消耗时间(G1 gc)
GCT: 总的GC时间
[lhdop@blog ~]$ jstat -gccapacity 20756 NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC CGC 0.0 3932160.0 79872.0 0.0 6144.0 73728.0 0.0 3932160.0 57344.0 57344.0 0.0 1103872.0 61132.0 0.0 1048576.0 7372.0 19 0 6
NGCMN: 最小的新生代的大小
NGCMX: 最大的新生代大小
NGC: 目前新生代的大小
S0C: survivor 0区域的容量
S1C: survivor 1区域的容量
EC: Eden区域的容量
OGCMN: 最小old代大小
OGCMX: 最大old代大小
OGC: 目前old代大小
OC: 目前old space大小
MCMN: 最小metaspace大小
MCMX: 最大metaspace大小
MC: Metaspace元数据区的 Committed Size
CCSMN: Compressed class空间的最小容量
CCSMX: Compressed class空间的最大容量
CCSC: Compressed class的Committed Size
YGC: young generation的GC次数
FGC: full GC的次数
CGC: 并发GC次数(G1 gc)
[lhdop@blog ~]$ jstat -gcnewcapacity 20756 NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC CGC 0.0 3932160.0 79872.0 0.0 0.0 3932160.0 6144.0 3932160.0 73728.0 19 0 6
NGCMN: 最小的新生代的大小
NGCMX: 最大的新生代大小
NGC: 目前新生代的大小
S0CMX: survivor 0区域容量的最大值
S0C: survivor 0区域的容量
S1CMX: survivor 1区域容量的最大值
S1C: survivor 1区域的容量
ECMX: Eden区域容量的最大值
EC: Eden区域的容量
YGC: young generation的GC次数
FGC: full GC的次数
CGC: 并发GC次数(G1 gc)
[lhdop@blog ~]$ jstat -gcoldcapacity 20756 OGCMN OGCMX OGC OC YGC FGC FGCT CGC CGCT GCT 0.0 3932160.0 57344.0 57344.0 19 0 0.000 6 0.019 0.191
OGCMN: 最小old代大小
OGCMX: 最大old代大小
OGC: 目前old代大小
OC: 目前old space大小
YGC: young generation的GC次数
YGCT: young generation的GC时间
FGC: full GC的次数
FGCT: full GC的时间
CGC: 并发GC次数(G1 gc)
CGCT: 并发GC耗时 (G1 gc)
GCT: 总的GC时间
[lhdop@blog ~]$ jstat -gcmetacapacity 20756 MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT CGC CGCT GCT 0.0 1103872.0 61132.0 0.0 1048576.0 7372.0 19 0 0.000 6 0.019 0.191
MCMN: 最小metaspace大小
MCMX: 最大metaspace大小
MC: Metaspace元数据区的 Committed Size
CCSMN: Compressed class空间的最小容量
CCSMX: Compressed class空间的最大容量
CCSC: Compressed class的Committed Size
YGC: young generation的GC次数
FGC: full GC的次数
FGCT: full GC的时间
CGC: 并发GC次数(G1 gc)
CGCT: 并发GC耗时 (G1 gc)
GCT: 总的GC时间
三,查看java的版本:
[lhdop@blog tools]$ java --version java 15 2020-09-15 Java(TM) SE Runtime Environment (build 15+36-1562) Java HotSpot(TM) 64-Bit Server VM (build 15+36-1562, mixed mode, sharing)