天天看點

jstat使用詳解(分析JVM的使用情況)

jstat 指令格式

如下所示為jstat的指令格式

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
           

如下表示分析程序id為31736 的gc情況,每隔1000ms列印一次記錄,列印10次停止,每3行後列印名額頭部

1 jstat -gc

jstat -gc xxxx
           

其對應的名額含義如下:

參數 描述
S0C 年輕代中第一個survivor(幸存區)的容量 (位元組)
S1C 年輕代中第二個survivor(幸存區)的容量 (位元組)
S0U 年輕代中第一個survivor(幸存區)目前已使用空間 (位元組)
S1U 年輕代中第二個survivor(幸存區)目前已使用空間 (位元組)
EC 年輕代中Eden(伊甸園)的容量 (位元組)
EU 年輕代中Eden(伊甸園)目前已使用空間 (位元組)
OC Old代的容量 (位元組)
OU Old代目前已使用空間 (位元組)
PC Perm(持久代)的容量 (位元組)
PU Perm(持久代)目前已使用空間 (位元組)
YGC 從應用程式啟動到采樣時年輕代中gc次數
YGCT 從應用程式啟動到采樣時年輕代中gc所用時間(s)
FGC 從應用程式啟動到采樣時old代(全gc)gc次數
FGCT 從應用程式啟動到采樣時old代(全gc)gc所用時間(s)
GCT 從應用程式啟動到采樣時gc用的總時間(s)

2 jstat -gcutil

檢視gc的統計資訊

jstat -gcutil xxxx
           

其對應的名額含義如下:

參數 描述
S0 年輕代中第一個survivor(幸存區)已使用的占目前容量百分比
S1 年輕代中第二個survivor(幸存區)已使用的占目前容量百分比
E 年輕代中Eden(伊甸園)已使用的占目前容量百分比
O old代已使用的占目前容量百分比
P perm代已使用的占目前容量百分比
YGC 從應用程式啟動到采樣時年輕代中gc次數
YGCT 從應用程式啟動到采樣時年輕代中gc所用時間(s)
FGC 從應用程式啟動到采樣時old代(全gc)gc次數
FGCT 從應用程式啟動到采樣時old代(全gc)gc所用時間(s)
GCT 從應用程式啟動到采樣時gc用的總時間(s)

3 jstat -gccapacity

jstat -gccapacity xxxx
           

其對應的名額含義如下:

參數 描述
NGCMN 年輕代(young)中初始化(最小)的大小 (位元組)
NGCMX 年輕代(young)的最大容量 (位元組)
NGC 年輕代(young)中目前的容量 (位元組)
S0C 年輕代中第一個survivor(幸存區)的容量 (位元組)
S1C 年輕代中第二個survivor(幸存區)的容量 (位元組)
EC 年輕代中Eden(伊甸園)的容量 (位元組)
OGCMN old代中初始化(最小)的大小 (位元組)
OGCMX old代的最大容量 (位元組)
OGC old代目前新生成的容量 (位元組)
OC Old代的容量 (位元組)
PGCMN perm代中初始化(最小)的大小 (位元組)
PGCMX perm代的最大容量 (位元組)
PGC perm代目前新生成的容量 (位元組)
PC Perm(持久代)的容量 (位元組)
YGC 從應用程式啟動到采樣時年輕代中gc次數
FGC 從應用程式啟動到采樣時old代(全gc)gc次數

4 其他指令

1) 檢視年輕代對象的資訊及其占用量。

jstat -gcnewcapacity xxxx
           

2) 檢視老年代對象的資訊及其占用量。

jstat -gcoldcapacity xxxx
           

3) 檢視年輕代對象的資訊

jstat -gcnew xxxx
           

4) 檢視老年代對象的資訊

jstat -gcold xxxx
           

備注:其他指令未一一列出