一,常用JDK監控和故障處理工具
命令名稱 | 全稱 | 用途 |
---|---|---|
jstat | JVM Statistics Monitoring Tool | 用於收集Hotspot虛擬機各方面的運行數據 |
jps | JVM Process Status Tool | 顯示指定系統內所有的HotSpot虛擬機進程 |
jinfo | Configuration Info for Java | 顯示虛擬機配置信息 |
jmap | JVM Memory Map | 生成虛擬機的內存轉儲快照,生成heapdump文件 |
jhat | JVM Heap Dump Browser | 用於分析heapdump文件,它會建立一個HTTP/HTML服務器,讓用戶在瀏覽器上查看分析結果 |
jstack | JVM Stack Trace | 顯示虛擬機的線程快照 |
這些命令會慢慢的進行博客解析,本篇文章介紹jstat的入門級使用
jstat:查看虛擬機各雲心狀態信息
jstat命令可用於顯示本地或遠程虛擬機進程中的類裝載 ,內存,垃圾收集,JIT編譯等運行數據。
jstat命令的格式爲:
jstat [options vmid [interval[s|ms]] [count] ]
其中若查詢的是本地虛擬機進程,VMID與LVMID是一致的,如果是遠程虛擬機進程VMID的格式爲:
[protocol:][//] lvmind[@hostname [:port] /servername]
可用 jstat -options來查詢jstat可以搭配哪些操作選項:
options有:
-class
監視類裝載,卸載數量,總空間以及類裝載所耗費的時間
-gc
監視Java堆狀況,包括Eden區,兩個survivor區,老年代,永久代的容量,已用空間,GC時間合計等信息
-gccapacity
內容與-gc基本相同,但主要輸出Java堆各個區域的最大最小空間
-gcutil
內容與-gc基本相同,但主要關注已使用空間佔總空間的百分比
-gccause
內容與-gcutil基本相同,但主要關注已使用空間佔總空間的百分比,並輸出導致上一次GC的原因
-gcnew
監視新生代GC情況
-gcnewcapacity
內容與-gcnew基本相同,但主要輸出使用到的最大最小空間
-gcold
監視老年代GC情況
-gcoldcapacity
內容與-gcnew基本相同,但主要輸出使用到的最大最小空間
-gcpermcapacity
輸出永久代使用到的最大最小空間
-complier
輸出JIT 編譯器編譯過的方法耗時的信息
-printcompliter
輸出已經被JIT編譯的方法