一、查看服务器的资源使用情况

使用top命令查看服务器的资源使用情况
image.png

  • load average: 3个数值分别表示系统1分钟、5分钟、15分钟的CPU负载信息。

正常情况在,一般都是<1,之前有一次遇到CPU使用率达到95%左右时,这3个数值都是4000+或5000+

二、查找最消耗CPU的进程或线程

使用开源工具useful-scripts查找最消耗CPU的进程或线程
安装方法:https://github.com/oldratlee/useful-scripts/blob/master/docs/install.md
使用方法:https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#-show-busy-java-threads
Linux CPU负载过高问题的排查方法 - 图2

三、查看可用的最大线程数

当前用户下输入以下命令 可以查看当前用户可用的最大线程数

  1. ulimit -a

image.png

  1. # 查看已经使用的线程数
  2. pstree -p | wc -l
  3. # 查看某个用户已经使用的线程数
  4. pstree -p `ps -e | grep [用户名] | awk '{print $1}'` | wc -l
  5. # 查看某个进程的线程数
  6. ps -T -P [pid] | wc -l

四、参考文章

《linux进程占用cpu过高问题排查步骤》
《Linux用户最大线程数查看&案例分享》
《服务器卡顿排查方法(Linux服务器)》