一、jps
? ? ? ? JDK的bin目錄下jps.exe工具馁蒂。
????????作用是查詢進(jìn)程狀況呵晚,和linux的ps指令類似,可以列舉出進(jìn)程沫屡、 執(zhí)行主類的名稱饵隙、進(jìn)程編號。
jps 命令格式:
jps [ options ] [ hostid ]
? ? ? ? jps執(zhí)行樣例:
二沮脖、jstat
? ? ? ? jstat是用于監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息的命令行工具金矛。? ?
? ? ? ? jstat可以顯示進(jìn)程中的類加載、內(nèi)存勺届、垃圾收集驶俊、即時編譯等運(yùn)行時數(shù)據(jù)。
jstat 命令格式:
jstat [ option vmid [ interval [ s | ms ] [ count ] ]
如果是遠(yuǎn)程虛擬機(jī)進(jìn)程免姿,則VMID的格式為:
[ protocol: ][ // ] lvmid [ @hostname [ :port ] /servername ]
參數(shù)說明:
interval - 代表查詢的間隔
count - 代表查詢的次數(shù)?
? ? ? ? jstat執(zhí)行示例:
執(zhí)行結(jié)果參數(shù)說明:
S0C - 第一個幸存區(qū)大小????
S1C - 第二個幸存區(qū)大小
S0U - 第一個幸存區(qū)使用大小
S1U - 第二個幸存區(qū)使用大小
EC? - Eden區(qū)大小
EU - Eden區(qū)使用大小
OC - 老年代大小
OU - 老年大使用大小
MC - 方法區(qū)大小
MU - 方法區(qū)使用大小
CCSC - 壓縮類空間大小
CCSU - 壓縮類空間使用大小
YGC - 年輕代回收次數(shù)
YGCT - 年輕代回收耗時
FGC - 老年代回收次數(shù)
FGCT - 老年代回收耗時
GCT - 垃圾回收總耗時
三饼酿、jinfo
? ? ? ? jinfo是實(shí)時查看和調(diào)整虛擬機(jī)的工具。
? ? ? ? 與jps不同的是,使用jps -v 雖然可以查看虛擬機(jī)啟動時顯示指定的參數(shù)列表故俐,但無法顯示指定參數(shù)的系統(tǒng)默認(rèn)值想鹰。
jinfo命令格式:
jinfo [ option ] pid
? ? ? ? jinfo 執(zhí)行示例:
四、jmap
? ? ? ? jmap用于生成堆轉(zhuǎn)儲快照药版,即常說的dump文件辑舷,jmap還可以查詢finalize執(zhí)行隊列、java堆和方法區(qū)的詳細(xì)信息槽片。
jmap命令格式:
jmap [ option ] vmid
? ? ? ? jmap執(zhí)行示例:
五何缓、jhat
? ? ? ? jhat與jmap搭配使用,用來分析jmap生成的堆轉(zhuǎn)儲快照还栓。
? ? ? ? jhat內(nèi)置了一個HTTP/Web服務(wù)器歌殃,生成的堆轉(zhuǎn)儲快照后,可以在瀏覽器查看蝙云。
? ? ? ? jhat使用示例如下,分析前面生成的dump文件:
? ? ? ? 通過訪問 http://localhost:7000/? 查看分析結(jié)果路召,如圖:
六勃刨、jstack
? ? ? ? jstack用于生成虛擬機(jī)當(dāng)前時刻的線程快照,線程快照就是當(dāng)前虛擬機(jī)內(nèi)每一條線程正在執(zhí)行的方法堆棧的集合股淡。常用于定位線程長時間停頓的問題(死鎖身隐、死循環(huán)等)。
jstack命令格式:
jstack [ option ] vmid?
? ? ? ? jstack使用示例:
七唯灵、其他JDK自帶的性能監(jiān)控和故障處理工具
? ??????