用戶收集HotSpot虛擬機各方面的運行數(shù)據(jù)
jstat -help
Usage: jstat -help|-options
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
option: 參數(shù)選項
-t: 可以在打印的列加上Timestamp列,用于顯示系統(tǒng)運行的時間
-h: 可以在周期性數(shù)據(jù)數(shù)據(jù)的時候,可以在指定輸出多少行以后輸出一次表頭
vmid: Virtual Machine ID( 進(jìn)程的 pid)
interval: 執(zhí)行每次的間隔時間,單位為毫秒
count: 用于指定輸出多少次記錄,缺省則會一直打印
jstat -options
-class 監(jiān)視類裝載、卸載數(shù)量、總空間及類裝載所耗時間
-compiler 輸出JIT編譯器編譯過的方法、耗時等信息
-gc 監(jiān)視Java堆狀況
-gccapacity 顯示各個代的容量以及使用情況
-gccause 顯示垃圾回收的相關(guān)信息(通-gcutil),同時顯示最后一次或當(dāng)前正在發(fā)生的垃圾回收的誘因
-gcmetacapacity 顯示metaspace的大小
-gcnew 顯示新生代信息
-gcnewcapacity 顯示新生代大小和使用情況
-gcold 顯示老年代和永久代的信息
-gcoldcapacity 顯示老年代的大小
-gcutil 顯示垃圾收集信息
-printcompilation 輸出JIT編譯的方法信息
實例一: -class
- 監(jiān)視類裝載、卸載數(shù)量、總空間及類裝載所耗時間
jstat -class 13317
Loaded Bytes Unloaded Bytes Time
1825 3542.3 0 0.0 0.29
- Loaded : 已經(jīng)裝載的類的數(shù)量
- Bytes : 裝載類所占用的字節(jié)數(shù)
- Unloaded:已經(jīng)卸載類的數(shù)量
- Bytes:未加載占用空間
- Time:裝載和卸載類所花費的時間
示例二: -compiler
- 輸出JIT編譯器編譯過的方法、耗時等信息
jstat -compiler 13317
Compiled Failed Invalid Time FailedType FailedMethod
996 0 0 0.60 0
- Compiled:編譯任務(wù)執(zhí)行數(shù)量
- Failed:編譯任務(wù)執(zhí)行失敗數(shù)量
- Invalid :編譯任務(wù)執(zhí)行失效數(shù)量
- Time :編譯任務(wù)消耗時間
- FailedType:最后一個編譯失敗任務(wù)的類型
- FailedMethod:最后一個編譯失敗任務(wù)所在的類及方法
示例三: -gc
- -gc 監(jiān)視Java堆狀況
jstat -gc 12280
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
0.0 0.0 0.0 0.0 19456.0 3072.0 25600.0 9964.8 24064.0 23307.9 2816.0 2589.1 2 0.012 1 0.015 0.027
S0C:年輕代中第一個survivor(幸存區(qū))的容量 (字節(jié))
S1C:年輕代中第二個survivor(幸存區(qū))的容量 (字節(jié))
S0U :年輕代中第一個survivor(幸存區(qū))目前已使用空間 (字節(jié))
S1U :年輕代中第二個survivor(幸存區(qū))目前已使用空間 (字節(jié))
EC :年輕代中Eden(伊甸園)的容量 (字節(jié))
EU :年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))
OC :Old代的容量 (字節(jié))
OU :Old代目前已使用空間 (字節(jié))
MC:metaspace(元空間)的容量 (字節(jié))
MU:metaspace(元空間)目前已使用空間 (字節(jié))
CCSC:壓縮類空間大小 (字節(jié))
CCSU:壓縮類空間使用大小 (字節(jié))
YGC :從應(yīng)用程序啟動到采樣時年輕代中g(shù)c次數(shù)
YGCT :從應(yīng)用程序啟動到采樣時年輕代中g(shù)c所用時間(s)
FGC :從應(yīng)用程序啟動到采樣時old代(全gc)gc次數(shù)
FGCT :從應(yīng)用程序啟動到采樣時old代(全gc)gc所用時間(s)
GCT:從應(yīng)用程序啟動到采樣時gc用的總時間(s)
實例三:-gccapacity
- 顯示各個代的容量以及使用情況
jstat -gccapacity 13317
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC
84992.0 1357824.0 84992.0 10240.0 10240.0 64512.0 171008.0 2715648.0 171008.0 171008.0 0.0 1058816.0 11648.0 0.0 1048576.0 1408.0 2 2
NGCMN:年輕代(young)中初始化(最小)的大小(字節(jié))
NGCMX:年輕代(young)的最大容量 (字節(jié))
NGC:年輕代(young)中當(dāng)前的容量 (字節(jié))
S0C:第一個幸存區(qū)大小
S1C:第二個幸存區(qū)的大小
EC:伊甸園區(qū)的大小
OGCMN:old代中初始化(最小)的大小 (字節(jié))
OGCMX:老年代最大容量
OGC:當(dāng)前老年代大小
OC:當(dāng)前老年代大小
MCMN:最小元數(shù)據(jù)容量
MCMX:最大元數(shù)據(jù)容量
MC:當(dāng)前元數(shù)據(jù)空間大小
CCSMN:最小壓縮類空間大小
CCSMX:最大壓縮類空間大小
CCSC:當(dāng)前壓縮類空間大小
YGC:年輕代gc次數(shù)
FGC:老年代GC次數(shù)
實例三:-gcutil
- 顯示垃圾收集信息
jstat -gcutil 13317
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 0.00 11.39 2.92 95.75 86.17 2 0.022 2 0.067 0.089
S0 第一個幸存區(qū)
S1 第二個幸存區(qū)
E 伊甸園區(qū)
O 老年代
M 元空間
CCS 壓縮類空間
YGC 年輕代GC次數(shù)
YGCT 年輕代耗時
FGC FullGC次數(shù)
FGCT FullGC總耗時
GCT GC總耗時
實例四:-gcnew
- 顯示新生代信息
jstat -gcnew 13317
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
10240.0 10240.0 0.0 0.0 7 15 10240.0 64512.0 8208.3 2 0.022
S0C:第一個幸存區(qū)大小
S1C:第二個幸存區(qū)的大小
S0U:第一個幸存區(qū)的使用大小
S1U:第二個幸存區(qū)的使用大小
TT:對象在新生代存活的次數(shù)
MTT:對象在新生代存活的最大次數(shù)
DSS:期望的幸存區(qū)大小
EC:伊甸園區(qū)的大小
EU:伊甸園區(qū)的使用大小
YGC:年輕代垃圾回收次數(shù)
YGCT:年輕代垃圾回收消耗時間
實例四:-gcold
- 顯示新生代信息
jjstat -gcold 13317
MC MU CCSC CCSU OC OU YGC FGC FGCT GCT
11648.0 11152.9 1408.0 1213.3 171008.0 4990.5 2 2 0.067 0.089