1. 程式人生 > >jstat:虛擬機統計信息監視工具

jstat:虛擬機統計信息監視工具

inter 包括 應該 and .com style 統計 查看 希望

jstat(JVM Statistics Monitoring Tool)

  jstat是用於監視虛擬機各種運行狀態信息的命令行工具。

它可以顯示本地或者遠程虛擬機進程中的類裝載,內存,垃圾收集,JIT編譯等運行數據,在沒有GUI圖形界面,只提供純文本控制臺環境的服務器上,它將是運行期定位虛擬機性能問題的首選工具

  Jstat命令格式為

  jstat [ option vmid [interval[s|ms] [count] ] ]

  對於命令格式中的VMID與LVMID需要特別說明一下:如果是本地虛擬機進程,VMID和LVMID是一致的,如果是遠程虛擬機進程,那VMID的格式應當是

  [protocol:] [//] lvmid[@hostname [:port]/servername ]

  參數interval和count代表查詢間隔和次數,如果省略這兩個參數,說明只查詢一次,

  假設需要每250毫秒查詢一次進程 2764 垃圾收集情況 ,一共查詢20次 那麽命令格式應該是:

  jstat -gc 2764 250 20

  選項option代表著用戶希望查詢的虛擬機信息,主要分為三類,類裝載,垃圾收集,運行期編譯狀況

技術分享

  一些常見的option

-class 監視類裝載,卸載數量,總空間以及類裝載所耗費的時間
-gc 監視Java堆狀況,包括Eden區,兩個survivor,老年代,永久代等的容量,已用空間,GC時間合計等信息
-gccapacity 監視內容與-gc基本相同,但輸出主要關註的是Java堆各個區域使用到最大,最小空間
-gcutil 監視內容與-gc基本相同,但輸出主要關註的是已使用空間占總空間的百分比
-gccause 與-gcutil功能一樣,但是會額外輸出導致上一次GC產生的原因
-gcnew 監視新生代GC狀況
-gcnewcapacity 監視內容與-gcnew基本相同,輸出主要關註使用到的最大,最小空間
-gcold 監視老年代GC狀況
-gcoldcapacity 監視內容與-gcold基本相同,輸出主要關註使用到的最大,最小空間
-gcpermcapacity 輸出永久代使用的最大,最小空間
-compiler 輸出JIT編譯器編譯過的方法,耗時等信息
-printcompilation 輸出已經被JIT編譯的方法

同樣我們還是可以通過 jstat -help 來查看 jstat提供的那些操作,以及如何使用

下面來一個例子

技術分享

S0    ->    Survior0

S1    ->    Survior1

E    ->    Eden

O    ->    Old

P    ->    Permanent

YGC

FGC

and T

所以如果在沒有GUI的情況下,我們看一通過jstat 來查看虛擬機的運行狀況,然後通過運行狀態來檢測系統運行的狀態。

jstat:虛擬機統計信息監視工具