jstat使用方法

jstat用來監控jvm內存各區域運行狀態,格式如下:

jstat 參數 vmid 監聽間隔時間 監聽次數

使用方法如,vmid可以通過jps查詢:

jstat -gc 52113 1000 100

即:監聽進程id爲52113的應用的堆狀況,包含eden、2個survior、old、perm、以及gc的時間等信息。

參數如下:

  • -class 監控類裝載、卸載數量、總空間以及裝載類所耗時間;
  • -gc 監控應用的堆狀況,包含eden、2個survior、old、perm、以及gc的時間等信息;
  • -gccapacity 監控的內容與-gc基本相同,但輸出的是java堆各個區域使用的最大和最小空間;
  • -gcutil 監控內容與-gc基本相同,但輸出的都是空間的佔總空間的比例;
  • -gccause 與-gcutil一樣,但額外輸出導致上次gc產生的原因;
  • -gcnew 監控新生代gc情況;
  • -gcnewcapacity 監控內容與-gcnew基本相同,輸出的是最大和最小空間;
  • -gcold 監控老年的gc情況;
  • -gcoldcapacity 監控內容與-gc基本相同,輸出的是最大和最小空間;
  • -gcpermcapacity 輸出永久帶最大和最小空間;
  • -compiler 輸出JIT編譯過的方法、耗時等信息;
  • -printcompilation 輸出已經被JIT編譯的方法。

下面詳細介紹下jstat每個參數返回結果:

參數-class

這裏寫圖片描述

Loaded:裝載的類的數量 Bytes:裝載類的字節大小;
Unloaded:卸載的類的數量  Bytes:卸載類的字節大小;
Time:裝載和卸載類所花費的時間。

參數-gc

這裏寫圖片描述

S0C:新生代第一個survivor(from survivor)的空間大小(字節);
S1C:新生代第二個survivor(to survivor)的空間大小(字節);
S0U:新生代第一個survivor(from survivor)使用空間大小(字節);
S1U:新生代第二個survivor(to survivor)的使用空間大小(字節);
EC:新生代eden空間大小(字節);
EU:新生代eden使用空間大小(字節);
OC:老年代空間大小(字節);
OU:老年代使用空間大小(字節);
PC:永久代空間大小(字節);
PU:永久代使用空間大小(字節);
YGC:minor gc次數;
YGCT:minor gc佔用時間;
FGC:full gc次數;
FGCT:full gc佔用時間;
GCT:gc總共佔用時間。

參數-gccapacity

這裏寫圖片描述

NGCMN:新生代初始化(最小)空間大小(字節);
NGCMX:新生代最大空間大小(字節);
NGC:新生代當前空間大小(字節);
S0C:新生代第一個survivor(from survivor)的空間大小(字節);
S1C:新生代第二個survivor(to survivor)的空間大小(字節);
EC:新生代eden空間大小(字節);
OGCMN:老年代初始化(最小)空間大小(字節);
OGCMX:老年代最大空間大小(字節);
OGC:老年代當前新生成的空間大小 (字節);
OC:老年代空間大小(字節);
PGCMN:永久代初始化(最小)空間大小(字節);
PGCMX:永久代最大空間大小(字節);
PGC:永久代當前新生成的空間大小(字節);
PC:永久代空間大小(字節);
YGC:minor gc次數;
FGC:full gc次數。

參數-gcutil

這裏寫圖片描述

S0:新生代第一個survivor(from survivor)的使用空間大小(百分比);
S1:新生代第二個survivor(to survivor)的使用空間大小(百分比);
E:新生代eden使用空間大小(百分比);
O:老年代使用空間大小(百分比);
P:永久代使用空間大小(百分比);
YGC:minor gc次數;
YGCT:minor gc佔用時間;
FGC:full gc次數;
FGCT:full gc佔用時間;
GCT:gc總共佔用時間。

參數-gccause

這裏寫圖片描述

S0:新生代第一個survivor(from survivor)的使用空間大小(百分比);
S1:新生代第二個survivor(to survivor)的使用空間大小(百分比);
E:新生代eden使用空間大小(百分比);
O:老年代使用空間大小(百分比);
P:永久代使用空間大小(百分比);
YGC:minor gc次數;
YGCT:minor gc佔用時間;
FGC:full gc次數;
FGCT:full gc佔用時間;
GCT:gc總共佔用時間;
LGCC:最後一次垃圾回收的原因;
GCC:本次垃圾回收的原因。

參數-gcnew

這裏寫圖片描述

S0:新生代第一個survivor(from survivor)的使用空間大小(百分比);
S1:新生代第二個survivor(to survivor)的使用空間大小(百分比);
S0U:新生代第一個survivor(from survivor)使用空間大小(字節);
S1U:新生代第二個survivor(to survivor)的使用空間大小(字節);
TT:對象在新生代存活的次數;
MTT:對象在新生代存活的最大次數;
DSS:期望的survivor大小(字節);
EC:新生代eden空間大小(字節);
EU:新生代eden空間使用的大小(字節);
YGC:minor gc次數;
YGCT:minor gc佔用時間。

參數-gcnewcapacity

這裏寫圖片描述

NGCMN:新生代初始化(最小)空間大小(字節);
NGCMX:新生代最大空間大小(字節);
NGC:當前新生代空間大小(字節);
S0CMX:新生代第一個survivor(from survivor)的最大空間大小(字節);
S0C:當前新生代第一個survivor(from survivor)的空間大小(字節);
S1CMX:新生代第二個survivor(to survivor)的最大空間大小(字節);
S1C:當前新生代第二個survivor(to survivor)的空間大小(字節);
ECMX:新生代eden最大空間大小(字節);
EC:當前新生代eden空間大小(字節);
YGC:minor gc次數;
FGC:full gc次數。

參數-gcold

這裏寫圖片描述

PC:永久代空間大小(字節);
PU:永久代使用空間大小(字節);
OC:老年代空間大小(字節);
OU:老年代使用空間大小(字節);
YGC:minor gc次數;
FGC:full gc次數;
FGCT:full gc佔用時間;
GCT:gc總共佔用時間。

參數-gcoldcapacity

這裏寫圖片描述

OGCMN:老年代初始化(最小)空間大小(字節);
OGCMX:老年代最大空間大小(字節);
OGC:老年代當前新生成的空間大小 (字節);
OC:老年代空間大小(字節);
YGC:minor gc數;
FGC:full gc數;
FGCT:full gc佔用時間;
GCT:gc總共佔用時間。

參數-gcpermcapacity

這裏寫圖片描述

PGCMN:永久代初始化(最小)空間大小(字節);
PGCMX:永久代最大空間大小(字節);
PGC:永久代當前新生成的空間大小(字節);
PC:永久代空間大小(字節);
YGC:minor gc數;
FGC:full gc數;
FGCT:full gc佔用時間;
GCT:gc總共佔用時間。

參數-compiler

這裏寫圖片描述

Compiled:JIT編譯執行次數;
Failed:JIT編譯執行失敗次數;
Invalid:JIT編譯執行失效次數;
Time:JIT編譯執行時間;
FailedType:最後一個JIT編譯失敗類型;
FailedMethod:最後一個JIT編譯失敗的類和方法。

參數-printcompilation

這裏寫圖片描述

Compiled:JIT編譯執行次數;
Size:方法生成的字節碼大小(字節);
Type:編譯類型;
Method:類名和方法名用來標識編譯的方法。
類名使用/做爲一個命名空間分隔符。
方法名是給定類中的方法。
上述格式是由-XX:+PrintComplation選項進行設置的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章