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

  进一步分析堆栈信息,就会定位到问题所在

原文地址:https://www.cnblogs.com/hiyu/p/6109514.html