一,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)