標籤:.com 最小 顯示 百分比 相同 分享 idt java ima
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:虛擬機器統計資訊監視工具