linux下找到JVM占用資源最高的線程


linux的top命令不僅可以看線程的資源占用,還可以看進程下線程的資源占用,結合對應的java命令可以定位到具體有問題的Java代碼,以找出占用CPU最高的線程為例:
第一步: 通過 top命令查找到這個消耗CPU的進程號PID 8958
第二步:使用 top -Hp pid(shift+p 按cpu排序,shift+m 按內存排序)
top -Hp 8958 獲取到這個進程下面所有線程,通過查看%CPU找到最耗費CPU的是線程PID
第三步:使用 printf '%x\n' PID (PID為上一步中獲取到的線程號)轉換成對應的16進制PID 5c7e 。因為jstack中線程號為16進制表示,與top下線程號整數表示不同,所以要轉換。
第四步:使用jstack 獲取對應的線程信息 jstack 8958 | grep 5c7e
8958是一開始獲取的進程號,而5c7e則是這個進程下面最最耗費CPU的線程號。


免責聲明!

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



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