java面試-生產環境出現CPU占用過高,談談你的分析思路和定位


 思路:結合Linux和JDK命令一起分析

1、top命令找出CPU占比最高的進程

2、ps -ef|grep java|grep -v grep 或者jps -l進一步定位,得知是怎樣一個后台程序惹事

3、定位到具體線程:ps -mp 進程編號 -o THREAD,tid,time 

ps -mp 4618 -o THREAD,tid,time

-m:顯示所有線程
-p pid:進程使用CPU的時間
-o:用戶自定義格式  

4、將需要的線程ID轉換為16進制格式:printf "%x\n" 有問題的線程id

printf "%x\n" 4619  

5、jstack 進程ID|grep tid(16進制線程小寫英文)-A60

 jstack 4618 | grep 120b -A60  

 

 


免責聲明!

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



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