常用的jvm效能監控和故障處理工具
目前,網上有很多免費或者收費的JVM效能分析和故障監控工具,免費的有Eclipse Memory Analyzer(用於分析堆轉存快照檔案dump)、jvm各個類堆cup的使用情況分析工具:async-profiler-1.4-linux-x64.tar.gz (官方文件:https://github.com/jvm-profiling-tools/async-profiler)。
但是,jdk中自帶了很多免費且非常實用的JVM效能分析和故障監控小工具,下面就分別介紹幾個常用的小工具:
NO1:jps
作用:用於檢視虛擬機器運行了那些程序,並輸出這些程序LVMID,即程序id,它是使用最頻繁的一個命令,因為其它工具需要依賴jps。首先需要jps輸出jvm正在執行的的程序id;然後其它工具根據程序id進行監控對應的程序執行情況。
jps 命令格式: jps [options] [hostid]
第二個可選引數是用於監控遠端主機jvm中執行的程序
NO2:jmap
作用:記憶體映像工具,可用生成堆記憶體轉存快照dump,它還可以查詢finalize執行佇列,java堆和永久代的詳細資訊,例如:空間利用率,當前用的是那種收集器等。
jmap命令格式: jmap [option] vmid
NO3:jstat
作用:用於jvm虛擬機器統計資訊監控的,主要用於監控jvm記憶體使用率。
jstat命令格式: jstat [option vmid [ interval [s | ms] [ count] ] ]
NO4:jinfo
作用:實時檢視java配置資訊工具,它也可以實時調整虛擬機器各項配置引數的值。
jinfo命令格式: jinfo [option] vmid
上面四個工具是常用的jvm虛擬機器監控工具,下面介紹結果常用的且功能強大的視覺化jvm效能監控和分析工具: