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读写频繁
posted @ 2020-03-25 17:07  饮酒至天明  阅读(1669)  评论(0编辑  收藏  举报