命令 | 說(shuō)明 |
---|---|
jps | 顯示JAVA進(jìn)程 |
jstat | JAVA虛擬機(jī)運(yùn)行狀態(tài)監(jiān)控钝吮,運(yùn)行時(shí)數(shù)據(jù) |
jinfo | JAVA虛擬機(jī)配置信息乔夯,如啟動(dòng)參數(shù)等 |
jmap | 生成虛擬機(jī)堆內(nèi)存轉(zhuǎn)儲(chǔ)快照(dump文件) |
jhat | 分析dump文件 |
jstack | 查看虛擬機(jī)的線程快照 |
1蒂培、jmap:Java內(nèi)存印象工具
語(yǔ)法
jmap [option] pid
options參數(shù)
- -dump:生成堆轉(zhuǎn)儲(chǔ)快照搀缠。-dump:[live, ]format=b,file=<filename>,live子參數(shù)說(shuō)明是否只dump出存活的對(duì)象
- -finalizerinfo:顯示F-Queue中等待Finalizer線程執(zhí)行finalize方法的對(duì)象
- -heap:顯示Java堆詳細(xì)信息筐眷,如使用哪種回收器铐炫、參數(shù)配置垒手、分代狀況等
- -histo:顯示堆中對(duì)象統(tǒng)計(jì)信息,包括類倒信、實(shí)例數(shù)量科贬、合計(jì)容量
- -permstat:顯示永久代的內(nèi)存狀態(tài)
- -F:當(dāng)虛擬機(jī)對(duì)-dump沒(méi)有響應(yīng)時(shí)強(qiáng)制生成dump快照
應(yīng)用
- jmap -dump:format=b,file=文件名.dump pid
生成dump文件,用visualvm分析 - jmap -heap pid
打印heap的概要信息鳖悠,垃圾收集器榜掌,heap的配置及使用情況,用于判斷目前heap的使用以及垃圾回收的情況 - jmap -histo pid
打印堆的對(duì)象統(tǒng)計(jì)情況乘综。jmap -histo:live pid 打印存活的對(duì)象情況憎账,jvm會(huì)先觸發(fā)GC
2、jstat:虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具
語(yǔ)法
jstat [option vmid [interval[s|ms] [count]]]
options參數(shù)
- -class:監(jiān)視類裝載卡辰、卸載數(shù)量胞皱、總空間、以及類裝載耗費(fèi)時(shí)間
- -gc:監(jiān)視Java堆狀況九妈,Eden區(qū)反砌、兩個(gè)Survivor區(qū)、老年代萌朱、永久代容量宴树、已用空間、gc時(shí)間合計(jì)等信息
- -gccapacity:監(jiān)視內(nèi)容與-gc基本相同晶疼,主要關(guān)注Java堆各個(gè)區(qū)域使用到的最大酒贬、最小空間
- -gcutil:監(jiān)視內(nèi)容與-gc基本相同,主要關(guān)注已用空間占總空間的百分比
- -gccause:與-gcutil功能一樣翠霍,會(huì)輸出上一次gc發(fā)生的原因
- -gcnew:監(jiān)視新生代gc狀況
- -gcnewcapacity:與-gcnew基本相同锭吨,主要關(guān)注使用到的最大最小空間
- -gcold:監(jiān)視老年代的gc狀況
- -gcoldcapacity:與-gcold基本相同,主要關(guān)注使用到的最大最小空間
- -gcpermcapacity:輸出永久代使用到的最大最小空間
- -compiler:輸出JIT編譯器編譯過(guò)的方法寒匙、耗時(shí)等信息
- -printcompilation:輸出已經(jīng)被JIT編譯的方法
應(yīng)用
- 每s秒查詢一次進(jìn)程pid的垃圾收集情況耐齐,一共查詢count次
jstat -gc [pid] [s] [count]
3、jinfo:Java配置信息工具
語(yǔ)法
jinfo [option] pid
options 參數(shù)
- -flag:查詢參數(shù)的系統(tǒng)默認(rèn)值
應(yīng)用
- 查詢CMSSInitiatingOccupancyFraction參數(shù)值
jinfo -flag CMSSInitiatingOccupancyFraction [pid]