JMap與JStack


用JMap和JStack做堆dump和線程dump

命令

1. jmap -dump:format=b,file=filename pid
jmap -dump:format=b,file=jmap0225.bin 18646

 

jmap -histo<:live> pid : 查看當期那 heap 的對象

sudo -u tomcat jmap -histo 1234 | sudo -u tomcat tee /tmp/histo.log

 

jmap --heap pid : 查看 heap 結構

 

2. jstack pid >> file

jstack 18646 >> jstackfile

出現錯誤

well-known file is not secure

需要將執行命令的用戶改為啟動tomcat線程用戶, 如下

sudo -u tomcat jmap -dump:file=filename pid

------

使用jstack分析步驟

1. top 查看java進程

2. top -p <java-pid> -H 查看消耗cpu的線程

3. <thread-id> 轉為 十六進制

3. sudo -u tomcat jstack <java-pid> | grep -A 10 <0x thread-id> 查看運行狀況


免責聲明!

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



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