如何定位占用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