文章目錄
- 概述
- 參數
-
- 一般參數
- 輸出參數
-
- 其他參數
- statOption(靜态參數)
-
- -class : 展示類加載資訊
- -compiler : 展示JVM即時編譯器的一些統計資訊![在這裡插入圖檔描述](https://img-blog.csdnimg.cn/20190218080512407.png)
- -gc : 展示gc資訊, 主要是堆的gc資訊![在這裡插入圖檔描述](https://img-blog.csdnimg.cn/20190218080827976.png)
- -gccapacity : 展示各代(新生代,老年代等)的容量以及相應的空間資訊![在這裡插入圖檔描述](https://img-blog.csdnimg.cn/20190218184527994.png)
- -gcutil : 展示gc概要資訊
- -gccause : 展示gc概要資訊(類似于gcutil), 展示最後一次和目前gc事件的原因
- -gcnew : 展示新生代gc相關資訊
- -gcnewcapacity : 展示新生代(new generation)容量及其對應空間
- -gcold : 展示老年代(old generation)以及元空間(metaspace)相關gc資訊
- -gcoldcapacity : 展示老年代容量資訊
- -gcmetacapacity : 展示元空間(metaspace)容量資訊
- -printcompilation : 展示編譯方法(JIT)相關資訊
概述
監控JVM統計資訊, 如gc資訊, 類加載資訊, JIT資訊
指令格式: jstat [ generalOption | outputOptions vmid [ interval[s|ms] [ count ] ]
- generalOption : jstat指令選項,如 -help或-options
- outputOptions : 包含一個statOption的輸出選項
- vmid : JVM的id, 即java程序id
- interval [s|ms]: 監控間隔時間, 機關是秒或毫秒, 不加機關預設為毫秒
- count : 表示總共監控多少次, 預設是一直執行
參數
一般參數
- -help : 列印幫助資訊
- -options : 展示參數清單
輸出參數
其他參數
- -h n : 每n行展示一次列标題
- -t : 添加一個時間戳列到第一列, 時間戳時間是從JVM啟動開始計算
statOption(靜态參數)
jstat指令最重要的一些參數
-class : 展示類加載資訊
列名稱 | 描述 |
Loaded | 加載的class數量 |
Bytes | 加載的class類大小, 機關KB |
Unloaded | 未加載的class數量 |
Bytes | 未加載的class類大小, 機關KB |
-compiler : 展示JVM即時編譯器的一些統計資訊
列名稱 | 描述 |
Compiled | 執行的編譯任務的數量 |
Failed | 編譯任務失敗的數量 |
Invalid | 無效編譯任務的數量 |
Time | 用于執行編譯任務的時間, 機關s |
FailedType | 上次編譯失敗的編譯類型 |
FailedMethod | 上次編譯失敗的類名和方法 |
-gc : 展示gc資訊, 主要是堆的gc資訊
列名稱 | 描述 |
S0C | 目前S0(Survivor 0)空間容量, 機關KB |
S1U | 目前S1(Survivor 1)空間容量, 機關KB |
S0U | S0空間使用量, 機關KB |
S1U | S1空間使用量, 機關KB |
EC | 目前Eden區域容量, 機關KB |
EU | Eden區域使用量, 機關KB |
OC | 目前老年代容量, 機關KB |
OU | 老年代使用量, 機關KB |
MC | 元空間(Metaspace)容量, 機關KB |
MU | 元空間(Metaspace)使用量, 機關KB |
CCSC | 類指針壓縮空間容量, 機關KB |
CCSU | 類指針壓縮空間容量, 機關KB |
YGC | 新生代GC(Minor GC/Young GC)發生的次數 |
YGCT | YGC所消耗的時間, 機關s |
FGC | Full GC發生的次數 |
FGCT | Full GC消耗的時間, 機關s |
GCT | 所有GC消耗的總時間, 機關s |
-gccapacity : 展示各代(新生代,老年代等)的容量以及相應的空間資訊
列名稱 | 描述 |
NGCMN | 新生代最小容量, 機關KB |
NGCMX | 新生代最大容量, 機關KB |
NGC | 目前新生代容量, 機關KB |
S0C | 目前S0空間(survivor 0)容量, 機關KB |
S1C | 目前S1空間(survivor 1)容量, 機關KB |
EC | 目前Eden空間容量, 機關KB |
OGCMN | 老年代最小容量, 機關KB |
OGCMX | 老年代最大容量, 機關KB |
OGC | 目前老年代容量, 機關KB |
OC | 目前老年代容量, 機關KB. ps:這個參數有點費解, 和OGC是一樣的 |
MCMN | 元空間(metaspace )最小容量, 機關KB |
MCMX | 元空間(metaspace )最大容量, 機關KB |
MC | 目前元空間(metaspace )容量, 機關KB |
CCSMN | CCS(Compressed class space)區域最小容量, 機關KB |
CCSMX | CCS空間最大容量, 機關KB |
CCSC | 目前CCS空間容量, 機關KB |
YGC | Young GC(Minor GC)發生次數 |
FGC | Full GC發生次數 |
-gcutil : 展示gc概要資訊
列名稱 | 描述 |
S0 | S0(Survivor 0)空間使用百分比(相對于目前容量) |
S1 | S1(Survivor 1)空間使用百分比(相對于目前容量) |
E | Eden空間使用百分比(相對于目前容量) |
O | 老年代空間使用百分比(相對于目前容量) |
M | 元空間(Metaspace)使用百分比(相對于目前容量) |
CCS | CCS空間使用百分比 |
YGC | 新生代GC(Minor GC/Young GC)發生的次數 |
YGCT | YGC所消耗的時間, 機關s |
FGC | Full GC發生的次數 |
FGCT | Full GC消耗的時間, 機關s |
GCT | 所有GC消耗的總時間, 機關s |
-gccause : 展示gc概要資訊(類似于gcutil), 展示最後一次和目前gc事件的原因
和gcutil展示資訊一樣, 額外增加了兩列LGCC,GCC:
列名稱 | 描述 |
LGCC | 上次GC原因 |
GCC | 目前GC原因 |
-gcnew : 展示新生代gc相關資訊
列名稱 | 描述 |
S0C | 目前S0(Survivor 0)空間容量, 機關KB |
S1C | 目前S1(Survivor 1)空間容量, 機關KB |
S0U | S0空間使用量, 機關KB |
S1U | S1空間使用量, 機關KB |
TT | 對象在新生代存活的次數 |
MTT | 對象在新生代存活的最大次數 |
DSS | 期望的survivor空間大小, 機關KB |
EC | 目前Eden區域容量, 機關KB |
EU | Eden區域使用量, 機關KB |
YGC | 新生代GC(Minor GC/Young GC)發生的次數 |
YGCT | YGC所消耗的時間, 機關s |
-gcnewcapacity : 展示新生代(new generation)容量及其對應空間
列名稱 | 描述 |
NGCMN | 新生代最小容量, 機關KB |
NGCMX | 新生代最大容量, 機關KB |
NGC | 目前新生代容量, 機關KB |
S0CMX | S0空間最大容量, 機關KB |
S0C | 目前S0空間容量, 機關KB |
S1CMX | S1空間最大容量, 機關KB |
S1C | 目前S1空間容量, 機關KB |
ECMX | Eden空間最大容量, 機關KB |
EC | 目前Eden空間容量, 機關KB |
YGC | 新生代GC(Minor GC/Young GC)發生的次數 |
FGC | Full GC發生的次數 |
-gcold : 展示老年代(old generation)以及元空間(metaspace)相關gc資訊
列名稱 | 描述 |
MC | 元空間(Metaspace)容量, 機關KB |
MU | 元空間(Metaspace)使用量, 機關KB |
CCSC | CCS空間容量, 機關KB |
CCSU | CCS空間使用量, 機關KB |
OC | 目前老年代容量, 機關KB |
OU | 老年代使用量, 機關KB |
YGC | 新生代GC(Minor GC/Young GC)發生的次數 |
FGC | Full GC發生的次數 |
FGCT | Full GC消耗的時間, 機關s |
GCT | 所有GC消耗的總時間(包含YGC和FGC), 機關s |
-gcoldcapacity : 展示老年代容量資訊
列名稱 | 描述 |
OGCMN | 老年代最小容量, 機關KB |
OGCMX | 老年代最大容量, 機關KB |
OGC | 目前老年代容量, 機關KB |
OC | 目前老年代容量, 機關KB |
YGC | 新生代GC(Minor GC/Young GC)發生的次數 |
FGC | Full GC發生的次數 |
FGCT | Full GC消耗的時間, 機關s |
GCT | 所有GC消耗的總時間(包含YGC和FGC), 機關s |
-gcmetacapacity : 展示元空間(metaspace)容量資訊
列名稱 | 描述 |
MCMN | 元空間(Metaspace)最小容量, 機關KB |
MCMX | 元空間(Metaspace)最大容量, 機關KB |
MC | 目前元空間(Metaspace)容量, 機關KB |
CCSMN | CCS空間最小容量, 機關KB |
CCSMX | CCS空間最大容量, 機關KB |
YGC | 新生代GC(Minor GC/Young GC)發生的次數 |
FGC | Full GC發生的次數 |
FGCT | Full GC消耗的時間, 機關s |
GCT | 所有GC消耗的總時間(包含YGC和FGC), 機關s |
-printcompilation : 展示編譯方法(JIT)相關資訊
列名稱 | 描述 |
Compiled | 由最近編譯的方法執行的編譯任務的數量 |
Size | 最近編譯的方法的位元組碼的位元組數 |
Type | 最近編譯的方法的編譯類型 |
Method | 辨別最近編譯的方法的類名和方法名 |
本文參考jdk官方文檔, 基于JDK8的, 不同的jdk版本可能會有一些差異
官網位址: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html