4.2 JDK命令行工具
名稱 | 主要作用 |
---|---|
jps | JVM Process Status Tool乡革,顯示指定系統(tǒng)內(nèi)所有HotSpot虛擬機(jī)進(jìn)程 |
jstat | JVM Statistics Monitoring Tool,用于手機(jī)HotSpot虛擬機(jī)各方面運(yùn)行數(shù)據(jù) |
jinfo | Configuration Info For Java摊腋,顯示虛擬機(jī)配置信息 |
jmap | Memory Map For Java沸版,生成虛擬機(jī)內(nèi)存轉(zhuǎn)儲(chǔ)快照(heapdumap文件) |
jhat | JVM Heap Dump Brower,用于分析heapdump文件 |
jstack | Stack Trace For Java兴蒸,顯示虛擬機(jī)線程快照 |
4.2.1 jps:虛擬機(jī)進(jìn)程狀況工具
jps [options] [hostid]
參數(shù) | 功能 |
---|---|
-q | 只輸出LVMID视粮,省略主類名稱 |
-m | 輸出虛擬機(jī)進(jìn)程啟動(dòng)時(shí)傳遞給主類main()函數(shù)的參數(shù) |
-l | 輸出主類全名,如果進(jìn)程執(zhí)行的是jar包橙凳,輸出jar路徑 |
-v | 輸出虛擬機(jī)啟動(dòng)時(shí)的JVM參數(shù) |
4.2.2 jstat:虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具
主要查詢3類信息:
- 類裝載
- 垃圾收集
- 運(yùn)行期編譯
jstat [ option vmid [interval [s|ms] [count]] ]
參數(shù) | 功能 |
---|---|
-class | 監(jiān)視類裝載蕾殴、卸載數(shù)量、總空間及類裝載所耗費(fèi)的時(shí)間 |
-gc | 監(jiān)視Java堆狀況岛啸,包括Eden區(qū)钓觉,2個(gè)survivor區(qū)、老年代坚踩、永久代等的容量荡灾、已用空間、GC時(shí)間合計(jì)等信息 |
-gccapacity | 與-gc基本相同堕虹,主要關(guān)注Java堆各個(gè)區(qū)域使用到的最大和最小空間 |
-gcutil | 與-gc基本相同卧晓,主要關(guān)注已使用空間占總空間百分比 |
-gccause | 與-gcutil基本相同,但是會(huì)額外輸出導(dǎo)致上一次gc產(chǎn)生的原因 |
-gcnew | 監(jiān)視新生代GC狀況 |
-gcnewcapacity | 監(jiān)視內(nèi)容與-gcnew一樣赴捞,主要關(guān)注使用到的最大和最小空間 |
-gcold | 監(jiān)視老年代GC情況 |
-gcoldcapacity | |
-compiler | 輸出JIT編譯器編譯過的方法逼裆、耗時(shí)等信息 |
-printcompilation | 輸出已經(jīng)被JIT編譯的方法 |
4.2.3 jinfo:Java配置信息工具
jinfo [option] pid
4.2.4 jmap:Java內(nèi)存映像工具
jmap [option] vmid
參數(shù) | 功能 |
---|---|
-dump | 生成Java堆轉(zhuǎn)儲(chǔ)快照。格式:-dump:[live,]format=b,file=<filename>赦政,其中l(wèi)ive子參數(shù)說明是否只dump出存活的對象 |
-finalizerinfo | 在F-Queue中等待Finalizer線程執(zhí)行finalize方法的對象胜宇。只在Linux/Solaris下有效 |
-heap | 顯示Java堆詳細(xì)信息,如使用哪種回收期恢着、參數(shù)配置桐愉、分代狀況等。只在Linux/Solaris下有效 |
-histo | 顯示堆中對象統(tǒng)計(jì)信息掰派,包括類从诲、實(shí)例數(shù)量和合計(jì)總量 |
4.2.5 jhat:虛擬機(jī)堆轉(zhuǎn)儲(chǔ)快照分析工具
4.2.6 jstack:Java堆棧跟蹤工具
jstack [option] vmid
參數(shù) | 功能 |
---|---|
-F | 強(qiáng)制輸出 |
-l | 除堆棧外,顯示關(guān)于鎖的附加信息 |
-m | 如果調(diào)用了本地方法的話靡羡,可以顯示C/C++的堆棧 |