1. 程式人生 > >JDK自帶小工具彙總

JDK自帶小工具彙總

1、 jps -l  (全稱JVM Process Status Tool)輸出主類的全名,如果是jar包,輸出jar包的全路徑,如下:


2、jstat(JVM Statics Monitoring Tool)

   jstat -gc pid  time times【可以先用ps -ef|grep java找出對應的執行緒ID】檢視的是總量

   jstat -gc 22866 300 5   表示每隔300ms檢視執行緒22866的垃圾回收情況,一共列印5次,如下圖


 S0C     S1C      S0U     S1U      EC                EU                  OC                  OU            PC            PU          YGC    YGCT    FGC    FGCT     GCT
1152.0 1152.0   800.0     0.0    696704.0         580419.4       1398144.0         416929.5    150656.0   150633.7    126      5.189        0        0.000     5.189

S0C表示Survivor0空間的大小,單位KB

S1C表示Survivor1空間的大小,單位KB

S0U表示Survivor0已用空間的大小,單位KB

S1U表示Survivor1已用空間的大小,單位KB

EC表示Eden空間的大小,單位KB

EU表示Eden已用空間的大小,單位KB

OC表示老年代空間的大小,單位KB

OU表示老年代已用空間的大小,單位KB

PC表示永久代空間的大小,單位KB

PU表示永久代已用空間的大小,單位KB

YGC表示新生代空間GC發生的次數

YGCT表示新生代空間GC處理花費的時間

FGC表示fullGC發生的次數

FGCT表示fullGC處理花費的時間

GCT表示GC操作花費的總時間

3、jstat -gcutil 22866  2000  3   表示每隔2000ms檢視執行緒22866已用空間佔總空間的百分比,一共列印3次,如下圖

  S0         S1        E        O         P     YGC     YGCT    FGC    FGCT     GCT   
  0.00 100.00  82.98  29.83  99.99    127       5.204       0        0.000    5.204

查詢結果表明:此臺伺服器的新生代Eden區使用了82.98%的空間,SO是空的,S1已使用100%,老年代和永久代分別使用了29.83%和99.99%,程式執行以來共發生YGC127次,總耗時5.204秒;沒有發生過full GC。所有GC總耗時為5.204秒。

4、jstack (Stack Trace for Java)

jstack -F 22866 表示正常輸出的請求不被響應時,強制輸出堆疊的資訊


jstack -l 22866  表示除堆疊外,顯示鎖的附加資訊


jstack -m 22866 表示如果呼叫到本地方法話,可以顯示C/C++的堆疊