java虛擬機——監控工具

  

  本篇記錄本人在學習JDK監控工具的一些筆記。JDK是1.8java

  JPS:查看java的進程命令工具

           

    左邊的數字是進程ID,對應的是進程的名稱。學習

  jstat:查看運行時狀態信息。blog

  一、-class:監控類裝載,卸載數量,總空間以及消費的時間進程

      jstat -class + 進程ID內存

          

    Loaded:加載class的數量ci

    Bytes:class字節大小it

    Unloaded:未加載數量io

    Bytes:未加載Class的字節大小console

    Time:加載時間

 二、-gc:垃圾回收堆的行爲統計(經常使用命令)  

    jstat -gc +進程ID [多少毫秒打印一次] [一共打印多少次]

   

      

SOC survivor0總容量
S1C survivor1總容量
S0U survivor0已經使用的容量
S1U survivor1已經使用的容量
EC Eden區總容量
EU Eden區已經使用的容量
OC 老年區總容量
OU 老年區已經使用的容量
MC 方法區的總容量
MU 方法區已經使用的容量
CCSC  壓縮類空間大小
CCSU    壓縮類空間使用的大小 
YGC 年輕代垃圾回收次數 
YGCT 年輕代垃圾回收的時間 
FGC 老年代垃圾回收的次數
FGCT 老年代垃圾回收的時間 
GCT 垃圾回收總消耗時間 

      由圖可得,MajorGC執行了4次,FullGC執行了一次,STW 0.002s,總消耗的時間爲0.016s.

      總GC消耗的時間(GCT) = YGC + FGCT

      一般,64位JVM消耗的內存會比32位的大1.5倍。由於在64位JVM下,長度會翻倍。

      

  三、-gccapacity:同-gc,同時還會輸出JAVA堆各區域的使用到的最大、最小空間

    jstat -gccapacity +進程ID

 

    NGCMN:新生代佔用的最小空間                OGCMN:老年代佔用的最小空間    MC:當前元數據的空間大小

    NGCMX:新生代佔用的最大空間      OGCMX:老年代佔用的最大空間    CCSMN:最小壓縮類空間大小

    NGC:當前新生代的空間        OGC:老年代已用的空間         CCSMX:最大壓縮類空間大小

    SOC:survivor0的空間總量          OC:當前老年的容量(KB)      CCSC:當前壓縮類空間大小

    S1C:survivor1的空間總量        MCMN:最小元數據容量        YGC:yongGC(Major GC)回收次數

    EC:Eden區 的總容量          MCMX:最大元數據容量        FGC:Full GC回收次數

    

   四、-gcutil:同-gc,輸出的是已使用空間佔總空間的百分比

 

              

      SO:survivor0區當前的使用比例    O:老年代使用的比例    YGC:年輕代垃圾回收次數    FGCT:老年代垃圾回收時間

      S1:survivor1區當前使用的比例  M:元數據區使用的比例   YGCT:年輕代垃圾回收的耗時   GCT:垃圾回收的總耗時

      E:Eden區當前使用的比例    CSS:壓縮使用比例     FGC:老年代垃圾回收次數

 

 

   五、-gccause:在-gcutil的基礎上附加最近兩次垃圾回收時間的緣由

    

      LGCC:最近垃圾回收的緣由    GCC:當前垃圾回收的緣由  AllocationFailure:內存分配失敗

       兩個可視化工具:jconsole  jvisualvm

相關文章
相關標籤/搜索