jstat命令可以查看堆內存各部分的使用量,以及加載類的數量。命令的格式如下:
jstat [-命令選項] [vmid] [間隔時間/毫秒] [查詢次數]
注意:使用的jdk版本是jdk8.
[work@16-11-118qf-pms]$ jstat -class 32417
Loaded?? Bytes?? Unloaded?? Bytes? Time
5579 10631.2? ? ? ? 0? ? 0.0? ? ? 2.03
Loaded:加載class的數量
Bytes:所占用空間大小
Unloaded:未加載數量
Bytes:未加載占用空間
Time:時間
編譯統計
[work@16-11-118qf-pms]$ jstat -compiler32417
Compiled Failed Invalid? Time? FailedType FailedMethod5
4280012.350
Compiled:編譯數量。
Failed:失敗數量
Invalid:不可用數量
Time:時間
FailedType:失敗類型
FailedMethod:失敗的方法
垃圾回收統計?? jstat -gc 32417
[work@16-11-118qf-pms]$ jstat -gc 32417
S0C? ? S1C? ? ? S0U? ? S1U? EC? ? ? EU? ? ? ? OC? ? ? ? ? OU? ? ? MC? ? ? MU? ? CCSC? CCSU? ? ? YGC? ? YGCT? ? FGC? ? FGCT? GCT43520.043520.020937.70.0524288.0316827.5699392.0112.031616.030838.13712.03522.020.06400.0000.064
S0C:第一個幸存區的大小
S1C:第二個幸存區的大小
S0U:第一個幸存區的使用大小
S1U:第二個幸存區的使用大小
EC:伊甸園區的大小
EU:伊甸園區的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法區大小
MU:方法區使用大小
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
YGC:年輕代垃圾回收次數
YGCT:年輕代垃圾回收消耗時間
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
堆內存分配臨界值? jstat -gccapacity 32417
[work@16-11-118qf-pms]$ jstat -gccapacity32417NGCMN? ? NGCMX? ? NGC? ? S0C? ? S1C? ? ? EC? ? ? OGCMN? ? ? OGCMX? ? ? OGC? ? ? ? OC? ? ? ? MCMN? ? MCMX? ? ? MC? ? ? CCSMN? ? CCSMX? ? CCSC? ? YGC? ? FGC349184.0698880.0611328.043520.043520.0524288.0699392.01398272.0699392.0699392.00.01077248.031616.00.01048576.03712.020
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:當前新生代容量
S0C:第一個幸存區大小
S1C:第二個幸存區的大小
EC:伊甸園區的大小
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:當前老年代大小
OC:當前老年代大小
MCMN:最小元數據容量
MCMX:最大元數據容量
MC:當前元數據空間大小
CCSMN:最小壓縮類空間大小
CCSMX:最大壓縮類空間大小
CCSC:當前壓縮類空間大小
YGC:年輕代gc次數
FGC:老年代GC次數
新生代垃圾回收統計 ?jstat -gcnew 32417
[work@16-11-118qf-pms]$ jstat -gcnew32417S0C? ? S1C? ? S0U? ? ? S1U? TT MTT? DSS? ? ? EC? ? ? EU? ? ? YGC? ? YGCT43520.043520.020937.70.071543520.0524288.0316827.520.064
S0C:第一個幸存區大小
S1C:第二個幸存區的大小
S0U:第一個幸存區的使用大小
S1U:第二個幸存區的使用大小
TT:對象在新生代存活的次數
MTT:對象在新生代存活的最大次數
DSS:期望的幸存區大小
EC:伊甸園區的大小
EU:伊甸園區的使用大小
YGC:年輕代垃圾回收次數
YGCT:年輕代垃圾回收消耗時間
新生代內存統計? jstat -gcnewcapacity 32417
[work@16-11-118qf-pms]$ jstat -gcnewcapacity32417NGCMN? ? ? NGCMX? ? ? NGC? ? ? S0CMX? ? S0C? ? S1CMX? ? S1C? ? ? ECMX? ? ? ? EC? ? ? YGC? FGC349184.0698880.0611328.0232960.043520.0232960.043520.0697856.0524288.020
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:當前新生代容量
S0CMX:最大幸存1區大小
S0C:當前幸存1區大小
S1CMX:最大幸存2區大小
S1C:當前幸存2區大小
ECMX:最大伊甸園區大小
EC:當前伊甸園區大小
YGC:年輕代垃圾回收次數
FGC:老年代回收次數
老年代垃圾回收統計
[work@16-11-118qf-pms]$ jstat -gcold32417MC? ? ? MU? ? ? CCSC? ? CCSU? ? ? OC? ? ? ? ? OU? ? ? YGC? ? FGC? ? FGCT? ? GCT31616.030838.13712.03522.0699392.0112.0200.0000.064
MC:方法區大小
MU:方法區使用大小
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
OC:老年代大小
OU:老年代使用大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
老年代內存統計 ?jstat -gcoldcapacity 32417
[work@16-11-118qf-pms]$ jstat -gcoldcapacity32417OGCMN? ? ? OGCMX? ? ? ? OGC? ? ? ? OC? ? ? YGC? FGC? ? FGCT? ? GCT699392.01398272.0699392.0699392.0200.0000.064
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:當前老年代大小
OC:老年代大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
元數據空間統計jstat -gcmetacapacity 32417
[work@16-11-118qf-pms]$ jstat -gcmetacapacity32417 MCMN? ? ? MCMX? ? ? ? MC? ? ? CCSMN? ? ? CCSMX? ? ? CCSC? ? YGC? FGC? ? FGCT? ? GCT0.01077248.031616.00.01048576.03712.0200.0000.064
MCMN : 最小元數據容量
MCMX:最大元數據容量
MC:當前元數據空間大小
CCSMN:最小壓縮類空間大小
CCSMX:最大壓縮類空間大小
CCSC:當前壓縮類空間大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
總結垃圾回收統計 ?jstat -gcutil 32417
[work@16-11-118qf-pms]$ jstat -gcutil 32417S0? ?
S1? ? E? ? ? O? ? ? M? ? CCS? ? YGC? ? YGCT? ? FGC? ? FGCT? ? GCT48.110.0060.430.0297.5494.8820.06400.0000.064
S0:幸存1區當前使用比例
S1:幸存2區當前使用比例
E:伊甸園區使用比例
O:老年代使用比例
M:元數據區使用比例
CCS:壓縮使用比例
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
JVM編譯方法統計
[work@16-11-118qf-pms]$ jstat -printcompilation32417Compiled? Size? Type Method543023541sun/nio/ch/SocketChannelImpl write
Compiled:最近編譯方法的數量
Size:最近編譯方法的字節碼數量
Type:最近編譯方法的編譯類型。
Method:方法名標識。