【JVM】jstack 查詢占用最大資源線程|排查死循環等


jstack 應用

首先通過:ps -ef|grep java

得到java pid

查看哪個線程占用最多資源:

找出該進程內最耗費CPU的線程,可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid  命令查看這個進程下面的所有線程占用情況。

 

發現線程21742占用最多。

 

將剛剛發現占用cpu最多的線程id(21742)換算成16進制

命令:printf "%x\n" 21742 的到 線程值 :54ee

查看jstack 生成的文件:

jstack pid | grep tid

如:jstack 21711 | grep 54ee

下面可以看出是哪行代碼導致,查看那行代碼發現有死循環。跟蹤解決完畢。

 


免責聲明!

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



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