天天看點

JVM監控工具-jstat詳解概述參數

文章目錄

  • 概述
  • 參數
    • 一般參數
    • 輸出參數
      • 其他參數
      • 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 : 展示參數清單
    JVM監控工具-jstat詳解概述參數

輸出參數

其他參數

  • -h n : 每n行展示一次列标題
  • -t : 添加一個時間戳列到第一列, 時間戳時間是從JVM啟動開始計算

statOption(靜态參數)

jstat指令最重要的一些參數

-class : 展示類加載資訊

JVM監控工具-jstat詳解概述參數
列名稱 描述
Loaded 加載的class數量
Bytes 加載的class類大小, 機關KB
Unloaded 未加載的class數量
Bytes 未加載的class類大小, 機關KB

-compiler : 展示JVM即時編譯器的一些統計資訊
JVM監控工具-jstat詳解概述參數

列名稱 描述
Compiled 執行的編譯任務的數量
Failed 編譯任務失敗的數量
Invalid 無效編譯任務的數量
Time 用于執行編譯任務的時間, 機關s
FailedType 上次編譯失敗的編譯類型
FailedMethod 上次編譯失敗的類名和方法

-gc : 展示gc資訊, 主要是堆的gc資訊
JVM監控工具-jstat詳解概述參數

列名稱 描述
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 : 展示各代(新生代,老年代等)的容量以及相應的空間資訊
JVM監控工具-jstat詳解概述參數

列名稱 描述
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概要資訊

JVM監控工具-jstat詳解概述參數
列名稱 描述
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事件的原因

JVM監控工具-jstat詳解概述參數

和gcutil展示資訊一樣, 額外增加了兩列LGCC,GCC:

列名稱 描述
LGCC 上次GC原因
GCC 目前GC原因

-gcnew : 展示新生代gc相關資訊

JVM監控工具-jstat詳解概述參數
列名稱 描述
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)容量及其對應空間

JVM監控工具-jstat詳解概述參數
列名稱 描述
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資訊

JVM監控工具-jstat詳解概述參數
列名稱 描述
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 : 展示老年代容量資訊

JVM監控工具-jstat詳解概述參數
列名稱 描述
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)容量資訊

JVM監控工具-jstat詳解概述參數
列名稱 描述
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)相關資訊

JVM監控工具-jstat詳解概述參數
列名稱 描述
Compiled 由最近編譯的方法執行的編譯任務的數量
Size 最近編譯的方法的位元組碼的位元組數
Type 最近編譯的方法的編譯類型
Method 辨別最近編譯的方法的類名和方法名

本文參考jdk官方文檔, 基于JDK8的, 不同的jdk版本可能會有一些差異

官網位址: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html