cpu负载过高原因排查

1. top -d 1

命令解释:进程界面每1s刷新一次

2.top -H -p pid或者 ps -mp pid -o THREAD,tid,time | sort -rn

   

命令解释:查看指定进程中各线程的状态,选出最繁忙的线程tid

3.printf  "%x\n"  tid

 命令解释:将线程ID转换为十六进制

4. jstack pid | grep tid -A30

 命令解释:查看线程的堆栈信息

接下来就是排查代码了。

CPU负载过高有几方面原因:

  • 程序计算密集
  • 程序死循环
  • 多线程阻塞
  • IO读写频繁

猜你喜欢

转载自www.cnblogs.com/bloodthirsty/p/12567343.html