1.介紹
Jstat用于監控基于HotSpot的JVM,對其堆的使用情況進行實時的指令行的統計,使用jstat我們可以對指定的JVM做如下監控:
- 類的加載及解除安裝情況
- 檢視新生代、老生代及metaSpace的容量及使用情況
- 檢視新生代、老生代及metaSpace的垃圾收集情況,包括垃圾回收的次數及垃圾回收所占用的時間
-
檢視新生代中Eden區及Survior區中容量及配置設定情況等
jstat工具特别強大,它有衆多的可選項,通過提供多種不同的監控次元,使我們可以從不同的次元來了解到目前JVM堆的使用情況。詳細檢視堆内各個部分的使用量,使用的時候必須加上待統計的Java程序号,可選的不同次元參數以及可選的統計頻率參數。
2.文法

下面是jdk1.8支援的選項:
下面是jdk1.8以下版本支援的選項:
3示例
jstat -gc -h5 -t 26316 1s 20
-gc 選項
-h5 每隔5行顯示一下表頭
-t 顯示從虛拟機啟動在目前時間的時間間隔 機關:秒
26536 線程id
1s 1秒顯示一次
20 總共顯示20次
4表頭講解
實名jdk1.7與jdk1.8就差了一個metaspace區域,其它都一樣。
表頭 | 描述 | jdk 版本 |
---|---|---|
S0C | 新生代中Survivor space中S0目前容量的大小(KB) | |
S1C | 新生代中Survivor space中S1目前容量的大小(KB) | |
S0U | 新生代中Survivor space中S0容量使用的大小(KB) | |
S1U | 新生代中Survivor space中S1容量使用的大小(KB) | |
EC | Eden space目前容量的大小(KB) | |
EU | Eden space容量使用的大小(KB) | |
OC | Old space目前容量的大小(KB) | |
OU | Old space使用容量的大小(KB) | |
PC | Permanent space目前容量的大小(KB) | 1.8以下 |
PU | Permanent space使用容量的大小(KB) | 1.8以下 |
MC | MeteSpace 目前容量的大小(KB) | 1.8及以上 |
MU | MeteSpace 使用容量的大小(KB) | 1.8及以上 |
CCSC | 壓縮類空間大小(KB) | 1.8及以上 |
CCSU | 壓縮類空間大小(KB) | 1.8及以上 |
YGC | 從應用程式啟動到采樣時發生 Young GC 的次數 | |
YGCT | 從應用程式啟動到采樣時 Young GC 所用的時間(秒) | |
FGC | 從應用程式啟動到采樣時發生 Full GC 的次數 | |
FGCT | 從應用程式啟動到采樣時 Full GC 所用的時間(秒) | |
GCT | 從jvm啟動到采樣時用于垃圾回收的總時間(機關秒),它的值等于YGC+FGC |