jdk8:jstat命令使用
jstat命令可以檢視堆記憶體各部分的使用量,以及載入類的數量。命令的格式如下:
jstat [-命令選項] [vmid] [間隔時間/毫秒] [查詢次數]
檢視遠端的:
[protocol:][//]lvmid[@hostname[:port]/servername]
類載入統計:
[@c9db8f728f0d /opt/logs]$ jstat -class 237
Loaded Bytes Unloaded Bytes Time
9584 18833.9 56 81.6 6.75
- Loaded:載入class的數量
- Bytes:所佔用空間大小
- Unloaded:未載入數量
- Bytes:未載入佔用空間
- Time:時間
監視java堆的狀況
[@c9db8f728f0d /opt/logs]$ jstat -gc 237
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
117760.0 121344.0 0.0 79136.1 2007552.0 223811.3 4007936.0 146712.4 60312.0 59088.8 7168.0 6863.2 39 9.431 3 1.003 10.434
- S0C:第一個倖存區的大小
- S1C:第二個倖存區的大小
- S0U:第一個倖存區的使用大小
- S1U:第二個倖存區的使用大小
- EC:伊甸園區的大小
- EU:伊甸園區的使用大小
- OC:老年代大小
- OU:老年代使用大小
- MC:方法區大小
- MU:方法區使用大小
- CCSC:壓縮類空間大小
- CCSU:壓縮類空間使用大小
- YGC:年輕代垃圾回收次數
- YGCT:年輕代垃圾回收消耗時間
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
堆記憶體的大小
[@c9db8f728f0d /opt/logs]$ jstat -gccapacity 237
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC
2252800.0 2252800.0 2252800.0 117760.0 121344.0 2007552.0 4007936.0 4007936.0 4007936.0 4007936.0 0.0 1101824.0 60312.0 0.0 1048576.0 7168.0 39 3
- NGCMN:新生代最小容量
- NGCMX:新生代最大容量
- NGC:當前新生代容量
- S0C:第一個倖存區大小
- S1C:第二個倖存區的大小
- EC:伊甸園區的大小
- OGCMN:老年代最小容量
- OGCMX:老年代最大容量
- OGC:當前老年代大小
- OC:當前老年代大小
- MCMN:最小元資料容量
- MCMX:最大元資料容量
- MC:當前元資料空間大小
- CCSMN:最小壓縮類空間大小
- CCSMX:最大壓縮類空間大小
- CCSC:當前壓縮類空間大小
- YGC:年輕代gc次數
- FGC:老年代GC次數
堆記憶體的各個佔比
[@c9db8f728f0d /opt/logs]$ jstat -gcutil 237
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 65.22 31.95 3.66 97.97 95.75 39 9.431 3 1.003 10.434
新生代垃圾回收統計
[@c9db8f728f0d /opt/logs]$ jstat -gcnew 237
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
117760.0 121344.0 0.0 79136.1 15 15 117760.0 2007552.0 814895.2 39 9.431
S0C:第一個倖存區大小
S1C:第二個倖存區的大小
S0U:第一個倖存區的使用大小
S1U:第二個倖存區的使用大小
TT:物件在新生代存活的次數
MTT:物件在新生代存活的最大次數
DSS:期望的倖存區大小
EC:伊甸園區的大小
EU:伊甸園區的使用大小
YGC:年輕代垃圾回收次數
YGCT:年輕代垃圾回收消耗時間
老年代垃圾回收統計
[@c9db8f728f0d /opt/logs]$ jstat -gcold 237
MC MU CCSC CCSU OC OU YGC FGC FGCT GCT
60312.0 59088.8 7168.0 6863.2 4007936.0 146712.4 39 3 1.003 10.434
MC:方法區大小
MU:方法區使用大小
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
OC:老年代大小
OU:老年代使用大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
老年代記憶體統計
[@c9db8f728f0d /opt/logs]$ jstat -gcoldcapacity 237
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
4007936.0 4007936.0 4007936.0 4007936.0 39 3 1.003 10.434
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:當前老年代大小
OC:老年代大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
元資料空間統計
[@c9db8f728f0d /opt/logs]$ jstat -gcmetacapacity 237
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 1101824.0 60312.0 0.0 1048576.0 7168.0 39 3 1.003 10.434
MCMN:最小元資料容量
MCMX:最大元資料容量
MC:當前元資料空間大小
CCSMN:最小壓縮類空間大小
CCSMX:最大壓縮類空間大小
CCSC:當前壓縮類空間大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
JVM編譯方法統計
[@c9db8f728f0d /opt/logs]$ jstat -printcompilation 237
Compiled Size Type Method
12391 101 1 io/github/xdiamond/client/net/ClientHandler$2 run
Compiled:最近編譯方法的數量
Size:最近編譯方法的位元組碼數量
Type:最近編譯方法的編譯型別。
Method:方法名標識。