1. 程式人生 > >JVM內建工具使用介紹

JVM內建工具使用介紹

命令列工具

jps

JVM Process Status Tool,顯示指定系統內所有的HotSpot虛擬機器程序

jstat

JVM Statistics Monitoring Tool,用於收集HotSpot虛擬機器各方面的執行資料。

示例

jstat -gc 12306 250 20

250毫秒查詢一次程序12306垃圾收集狀況,一共查詢20
###詳細引數
S0 Survior區使用比例, S1 Survior區使用比例
E 新生代區使用比例, O 老年代區使用比例, P 永久代區使用比例, M 元資料區使用比例
YGC 年輕代垃圾回收次數, YGCT 年輕代垃圾回收時間, FGC

老年代垃圾回收次數, FGCT 老年代垃圾回收時間, GCT 垃圾回收總時間

jinfo

查詢程序12306的虛擬機器配置資訊

示例

jinfo 12306

Configuration Info for Java,顯示虛擬機器配置資訊

jmap

Memory Map for Java,生成虛擬機器的記憶體轉儲快照(heapdump檔案)

基本引數:
-dump:[live,]format=b,file=
使用hprof二進位制形式,輸出jvm的heap內容到檔案=. live子選項是可選的,假如指定live選項,那麼只輸出活的物件到檔案.
-finalizerinfo
列印正等候回收的物件的資訊.
-heap
列印heap的概要資訊,GC使用的演算法,heap的配置及wise heap的使用情況.
-histo[:live]
列印每個class的例項數目,記憶體佔用,類全名資訊. VM的內部類名字開頭會加上字首”*”. 如果live子引數加上後,只統計活的物件數量.
-permstat
列印classload和jvm heap長久層的資訊. 包含每個classloader的名字,活潑性,地址,父classloader和載入的class數量. 另外,內部String的數量和佔用記憶體數也會打印出來.
-F
強迫.在pid沒有相應的時候使用-dump或者-histo引數. 在這個模式下,live子引數無效.
-h | -help
列印輔助資訊
-J
傳遞引數給jmap啟動的jvm.
pid 需要被列印配相資訊的java程序id

jhat

JVM Heap Dump Browser,用於分析heapdump檔案,它會建立一個HTTP/HTML伺服器,讓使用者可以在瀏覽器在檢視分析結果

jstack

Stack Trace for Java,顯示虛擬機器的執行緒快照

jmap -heap 1159

jmap -histo 1159

jstack 1159

jmap -dump:format=b,file=jvm.log 1159

jhat tomcat.bin