1. 程式人生 > >JVM除錯工具使用效果

JVM除錯工具使用效果

1、jps  VM程序監控

D:\commonsoft\jdk\jdk1.7.0_x64\bin>jps -l 34416 sun.tools.jps.Jps 35980 32016 com.roncoo.education.SpringBootDemo21Application

D:\commonsoft\jdk\jdk1.7.0_x64\bin>jps -v                             啟動時候JVM引數 35980  -Dosgi.requiredJavaVersion=1.6 -Xms256m -Xmx1024m -vm D:/commonsoft/jdk/jdk1.7.0_45/bin/javaw.exe -XX:MaxPermSize=256m 28500 Jps -Dapplication.home=D:\commonsoft\jdk\jdk1.7.0_x64 -Xms8m 32016 SpringBootDemo21Application -Dfile.encoding=UTF-8

D:\commonsoft\jdk\jdk1.7.0_x64\bin>jps -m                   啟動Main函式引數 35980 32016 SpringBootDemo21Application 29864 Jps -m

2、Jstat  VM統計監控資訊

 -gc 監視java堆情況,包含Eden區,兩個Survivor區,老年代,永久代等 已經空間和GC時間

 -gcutil同上,主要輸出關注的已經使用空間和總空間佔比。

D:\commonsoft\jdk\jdk1.7.0_x64\bin>jstat -gc 35980 200 2  S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT 22016.0 4608.0  0.0   4531.7 75264.0  61248.5   239616.0   105126.8  137728.0 105855.2     33    0.582  13      5.335    5.916 22016.0 4608.0  0.0   4531.7 75264.0  61248.5   239616.0   105126.8  137728.0 105855.2     33    0.582  13      5.335    5.916

S0C 第一個倖存者區的總大小               S1C 第二個倖存者區的總大小

S0U第一個倖存者區的已使用的大小      S1U第二個倖存者區的已使用的大小

EC 伊甸區的總大小                           EU 伊甸區已使用的大小                       以上的屬於新生代(Young)。

OC 老年區的總大小                    OU 老年區已使用的大小                                           以上的屬於老年代(Old)。

MC 方法區的總大小                   MU 方法區已使用大小

CCSC壓縮類總大小                    CCSU 壓縮類已使用大小                              以上的屬於永久代(Perm)。

YGC young gc次數                    YGCT young gc總時間

FGC full gc 次數                         FGCT full gc 總時間                          GCT gc的總時間

D:\commonsoft\jdk\jdk1.7.0_x64\bin>jstat -gcutil 35980 200 2   S0     S1     E      O      P     YGC     TYGC    FGC    FGCT     GCT  73.01   0.00   4.10  43.87  76.86     34    0.595    13    5.335    5.929  73.01   0.00   4.10  43.87  76.86     34    0.595    13    5.335    5.929

S0和S1分別表示Survivor0和Survivor1區,E:eden區,O:老年代,P:永久代

YGC:Minor GC, 表示YoungGc 34次,  GCT :表示YGC總耗時5.929秒。

FGC :Full Gc 表示發生 13,  FGCT:full gc time, 總耗時 5.335 秒

D:\commonsoft\jdk\jdk1.7.0_x64\bin>

-class (類載入器)                   -compiler (JIT)                -gc (GC堆狀態)        -gccapacity (各區大小)             

 -gccause (最近一次GC統計和原因)       - gcnew (新區統計)  -gcnewcapacity (新區大小)                  -gcold (老區統計) -gcoldcapacity (老區大小)         -gcpermcapacity (永久區大小)           -gcutil (GC統計彙總)   -printcompilation (HotSpot編譯統計) 1、jstat –class<pid> : 顯示載入class的數量,及所佔空間等資訊。

Loaded        裝載的類的數量      Bytes           裝載類所佔用的位元組數

Unloaded      解除安裝類的數量           Bytes            解除安裝類的位元組數                Time          裝載和解除安裝類所花費的時間

2、jstat -compiler <pid>顯示VM實時編譯的數量等資訊。

Compiled    編譯任務執行數量              Failed        編譯任務執行失敗數量

Invalid      編譯任務執行失效數量           Time    編譯任務消耗時間

FailedType 最後一個編譯失敗任務的型別            FailedMethod              最後一個編譯失敗任務所在的類及方法