java線程dump分析工具


jstack和線程dump分析 

java程序性能分析之thread dump和heap dump

一、【內存dump】

jmap –dump:live,format=b,file=heap.bin <pid>

二、【線程dump】

jstack是java虛擬機自帶的一種堆棧跟蹤工具。

 基本介紹:

 jstack用於生成 java虛擬機當前時刻的線程快照。線程快照是當前java虛擬機內每一條線程正在執行的方法堆棧的集合,生成線程快照的主要目的是定位線程出現長時間停頓的原因,如線程間死鎖、死循環、請求外部資源導致的長時間等待等。

線程出現停頓的時候通過jstack來查看各個線程的調用堆棧,就可以知道沒有響應的線程到底在后台做什么事情,或者等待什么資源。

命令格式:

jstack [ option ] pid
基本參數:
-F 當’jstack [-l] pid’沒有相應的時候強制打印棧信息
-l 長列表. 打印關於鎖的附加信息,例如屬於java.util.concurrent的ownable synchronizers列表.
-m 打印java和native c/c++框架的所有棧信息. -h | -help打印幫助信息
 
 
如果程序正常運行: jstack [-l] pid > xxx.log    將線程信息輸入到指定文件中 
如果程序無響應:    jstack -F [-m] [-l] pid >xxx.log     強制打印棧信息 
                            top -H -p pid       找出占用cpu高(或執行時間長)的線程pid 

 


免責聲明!

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



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