如何定位占用cpu過高的線程


如何定位占用cpu過高的線程

近來發現平台應用響應越來越慢,通過top命令發現,cpu占用率越來越高

 

1. 首先根據top命令,發現占用cpu最高的進程PID:3075.

  通過ps aux | grep PID命令,進一步查看當前進程的具體信息。

2. 顯示當前進程下的所有線程列表

  ps -mp pid -o THREAD,tid,time

找到耗時最高的線程TID,並將其線程ID轉換為16進制格式:

  printf "%x\n" tid

 

3. 打印線程的堆棧信息,thread dump

  jstack pid |grep tid -A 30

  進一步分析堆棧信息,就會定位到問題所在

 


免責聲明!

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



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