《深入理解java虛擬機(jī)》- 03 性能監(jiān)控與故障處理工具

1、JDK的命令行工具

1.1 jps?

jps 全稱?JVM Process Status Tool,用于顯示指定系統(tǒng)內(nèi)所有的HotSpot虛擬機(jī)進(jìn)程,并顯示虛擬機(jī)執(zhí)行主類(mian()所在類)名稱

命令格式: jps [option] [hostid],其中hostid是RMI注冊(cè)表中的注冊(cè)的主機(jī)名,如果不指定hostid就默認(rèn)為當(dāng)前主機(jī)或服務(wù)器。其中option選項(xiàng):

option常用選項(xiàng)

1.2 jstat

jstat 全稱?JVM Statistics Monitoring Tool,用于監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息,可以顯示本地或遠(yuǎn)程進(jìn)程中的類裝載、內(nèi)存、垃圾回收、JIT編譯等運(yùn)行數(shù)據(jù),是運(yùn)行期定位性能問題的首選工具

命令格式: jstat [option vmid [interval][s|ms] [count]],其中參數(shù)vmid表示進(jìn)程ID,參數(shù)interval和count分別表示時(shí)間間隔和統(tǒng)計(jì)次數(shù),如果兩個(gè)都省略,只查詢一次。其中option選項(xiàng):

option常用選項(xiàng)

1.3 jinfo?

jinfo 全稱 JVM Configuration Info,用于實(shí)時(shí)查看和調(diào)整虛擬機(jī)運(yùn)行參數(shù),jps -v口令只能查看到顯示指定的參數(shù),如果想要查看未被顯示指定的參數(shù)的值就要使用jinfo口令

命令格式:jinfo [option] [args] LVMID。其中option參數(shù):-flag : 輸出指定args參數(shù)的值;-flags : 不需要args參數(shù),輸出所有JVM參數(shù)的值;-sysprops : 輸出系統(tǒng)屬性,等同于System.getProperties()

1.4 jmap?

jmap 全稱 JVM Memory Map,用于生成heap dump文件,如果不使用這個(gè)命令,還可以使用-XX:+HeapDumpOnOutOfMemoryError參數(shù)來讓虛擬機(jī)出現(xiàn)OOM的時(shí)候·自動(dòng)生成dump文件。jmap不僅能生成dump文件,還可以查詢finalize執(zhí)行隊(duì)列、Java堆和永久代的詳細(xì)信息,如當(dāng)前使用率、當(dāng)前使用的是哪種收集器等

命令格式:jmap [option] LVMID,其中option選項(xiàng):

option選項(xiàng)

1.5 jstack

jstack 全稱 jvm stack trace,用于生成java虛擬機(jī)當(dāng)前時(shí)刻的線程快照。線程快照是當(dāng)前java虛擬機(jī)內(nèi)每一條線程正在執(zhí)行的方法堆棧的集合,生成線程快照的主要目的是定位線程出現(xiàn)長(zhǎng)時(shí)間停頓的原因,如線程間死鎖、死循環(huán)、請(qǐng)求外部資源導(dǎo)致的長(zhǎng)時(shí)間等待等。 線程出現(xiàn)停頓的時(shí)候通過jstack來查看各個(gè)線程的調(diào)用堆棧,就可以知道沒有響應(yīng)的線程到底在后臺(tái)做什么事情,或者等待什么資源。 如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發(fā)生問題。另外,jstack工具還可以附屬到正在運(yùn)行的java程序中,看到當(dāng)時(shí)運(yùn)行的java程序的java stack和native stack的信息, 如果現(xiàn)在運(yùn)行的java程序呈現(xiàn)hung的狀態(tài),jstack是非常有用的

命令格式:jstack [option] LVMID

option選項(xiàng)

參考文章:http://www.hollischuang.com/archives/110

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容