使用jstack和TDA進行java線程dump分析


轉載:http://blog.csdn.net/everlasting_188/article/details/51943095

1、jstack重點關注

 命令行:jstack [-l][F] pid ,可以進行的dump文件導出 

dump 文件里,值得關注的線程狀態有:

     死鎖,Deadlock(重點關注)
     執行中,Runnable  
     等待資源,Waiting on condition(重點關注)
     等待獲取監視器,Waiting on monitor entry(重點關注)
     暫停,Suspended
     對象等待中,Object.wait() 或 TIMED_WAITING
     阻塞,Blocked(重點關注) 

     停止,Parked

 

2、工具

2.1 本地分析工具

下載地址: https://java.net/projects/tda/downloads

說明:

1、區域1:線程和monitor區域,顯示總的線程,休眠線程和monitor。點log文件可以顯示原始的log文件。

2、區域2:選擇區域1中的對象,顯示對象相關狀態

3、區域3:選擇區域2后,下面顯示對應的狀態

4、區域4:選擇菜單的filter,可以增加過濾器來對對應的線程進行查看

 

說明:選擇monitors后,選擇對應的對象,可以顯示對應的概要說明。點單個對象,可以看到被那個對象locked

 

TDA還有一個功能還可以嵌入到jconsole中,自己沒有試驗。

 

2.2在線分析工具

地址見: http://spotify.github.io/threaddump-analyzer/

 

3、參考文檔

http://www.cnblogs.com/nexiyi/p/java_thread_jstack.html   總結的不錯的一篇文章,分析方法不錯。

  http://blog.sina.com.cn/s/blog_855eab95010157uv.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM