«

【玩转服务器】Linux服务器CPU占用高排查方法

南京雨花吴彦祖 发布于 阅读:977


当Linux服务器的CPU占用率过高时,可以按照以下步骤进行排查:

查看CPU占用情况

使用tophtop命令来查看当前系统中各个进程的CPU使用率。

htop命令可使用 yum install htop 进行安装

# 命令进入htop的交互界面通过按键组合进行交互
htop

# top命令进入界面,按下大写字母 P 按照CPU占用从高到低进行排序
top

# 可能返回
top - 17:14:51 up 3 min,  1 user,  load average: 0.01, 0.02, 0.01
Tasks:  89 total,   1 running,  88 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2046504 total,  1715560 free,   130904 used,   200040 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1765188 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                      
 1563 root      20   0  622856  16036   3248 S   0.3  0.8   0:00.88 barad_agent                                                                                                                                  
    1 root      20   0   43448   3832   2572 S   0.0  0.2   0:01.08 systemd                                                                                                                                      
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                                                                                                                                     
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0                                                                                                                                  
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                                                 
    5 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/u4:0                                                                                                                                 
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/0            

在top或htop命令的输出中,找到占用CPU过高的进程,并记录其进程ID(pid)。CPU使用率过高可能是因为某个进程使用了大量的系统资源。可以使用pidstat命令查看各个进程的资源使用量。

因为 pidstat 是 sysstat 的一部分,所以 pidstat 安装命令为 yum install sysstat

检查系统负载

使用uptime命令来查看系统的平均负载情况。

系统负载超过CPU内核数的2倍,则可以认为系统过载。

# 输入命令
uptime

# 可能返回
 17:16:27 up 4 min,  1 user,  load average: 0.00, 0.01, 0.01

当前时间:显示命令执行时的系统时间。

系统运行时间:显示系统已经运行了多长时间,通常以天、小时和分钟为单位。

当前登录用户数:显示当前登录到系统的用户数。

系统负载平均值:显示过去 1 分钟、5 分钟和 15 分钟的系统负载平均值。

检查系统日志

查看系统日志特别是/var/log/messages/var/log/syslog文件,可以获取更多关于问题的线索。

总结

在进行排查时需谨慎操作,以免对系统造成不必要的损害。建议定期对服务器进行性能监控和优化,以预防类似问题的发生。

【玩转服务器】Linux服务器CPU占用高排查方法
【玩转服务器】Linux服务器CPU占用高排查方法
【玩转服务器】Linux服务器CPU占用高排查方法
【玩转服务器】Linux服务器CPU占用高排查方法