(1)最新版本V4.6.9下載下傳位址:https://www.ibm.com/support/pages/ibm-thread-and-monitor-dump-analyzer-java-tmda,具體使用幫助也可以在該頁面檢視。
(2)需要本地安裝JDK并配置JAVA環境變量。
(3)之後使用java -jar jca469.jar即可打開工具。
直接将dump出來的堆棧資訊,打開,便可分析。
如打開之前模拟CPU 100%使用jstack列印輸出的堆棧資訊檔案test.out
在Thread Dump List中右鍵可以檢視Thread詳細資訊。
在IBM Thread and Monitor Dump Analyzer for Java工具中,請求線程可分為以下幾種狀态:
1.死鎖,Deadlock(重點關注)
2.執行中,Runnable(重點關注)
3.等待資源,Waiting on condition(重點關注)
4.等待監控器檢查資源,Waiting on monitor
5.暫停,Suspended
6.對象等待中,Object.wait()
7.阻塞,Blocked(重點關注)
8.停止,Parked
Deadlock:死鎖線程:一般指多個線程調用間,進入互相資源占用,導緻一直等待無法釋放的情況。
Runnable:一般指該線程正在執行狀态中,該線程占用了資源,正在處理某個請求,有可能正在傳遞SQL到資料
庫執行,有可能在對某個檔案操作,有可能進行資料類型等轉換。
Waiting on condition:等待資源,如果堆棧資訊明确是應用代碼,則證明該線程正在等待資源,一般是大
量讀取某資源,且該資源采用了資源鎖的情況下,線程進入等待狀态,等待資源的讀取。又或者,
正在等待其他線程的執行等。
Blocked:線程阻塞,是指目前線程執行過程中,所需要的資源長時間等待卻一直未能擷取到,被容器的線程管
更詳細使用僅分析參見:https://blog.csdn.net/weixin_30657541/article/details/98034829