1.命令列工具
1.1 jps
檢視系統JVM程序
jps [options] [hostid]
-
option
-
hostid:省略則本機,監控遠端需要安裝jstatd
1.2 jstat
檢視JVM統計資訊
jstat -
- option
- -t:加程式執行時間
- [-h
]:輸出設定行數加表頭資訊 :查詢間隔時間 - count:查詢總次數
- 結果:
當ou上漲趨勢時,可能oom
1.3 jinfo
實時檢視修改JVM引數
只有標記為manageable的引數才可以被實時修改
- java -xx:+PrintFlagsFinal -version | grep manageable
jinfo [option] pid
1.4 jmap
匯出記憶體映像檔案和記憶體使用情況,生成heapdump檔案且可以查詢finalize執行佇列,以及堆和方法區的資訊
jmap [option] pid
- oom時自動匯出
-XX:+HeapDumpOnOutOfMenoryError
-XX:HeapDumpPath=
1.5 jhat
JDK9刪除 使用VisualVM代替
在本地7000埠檢視dump檔案分析結果
jhat [options] [hostid]
1.6 jstack
生成執行緒快照,堆疊集合
jstack [optinon] pid
2.JVM監控工具
JDK自帶:jconsole VisualVM jmc
三方: MAT JProfiler Arthas Btrace