LHIDC

Linux Load Average 很高代表什么?和 CPU 占用有什么区别

Linux Load Average 高不等于 CPU 一定满。本文用性能瓶颈定位思路说明如何结合 CPU、IO、进程状态和业务日志判断负载来源。

Linux Load Average 高,不等于 CPU 使用率一定高。它表示一段时间内正在运行或等待运行的任务数量,也包括部分不可中断等待任务。服务器卡顿时,只看 Load 数字很容易误判,必须结合 CPU、IO、进程状态和业务日志。

先看三个时间窗口

uptime

输出里的三个 Load 分别代表 1 分钟、5 分钟、15 分钟。1 分钟高、15 分钟低,可能是短时波动;三个值都高,说明压力持续存在。

Load 是否异常要结合 CPU 核心数。单核服务器 Load 4 很高;8 核服务器 Load 4 不一定异常。判断时可以先确认 CPU 核心数:

nproc

CPU 高还是 IO 等待

top

关注 `%Cpu(s)`。`us` 高表示用户态程序消耗 CPU;`sy` 高表示内核态开销高;`wa` 高表示 CPU 在等待 IO。CPU 不高但 Load 高时,重点看 `wa` 和进程状态。

用进程状态看瓶颈

ps -eo pid,stat,user,cmd,%cpu,%mem --sort=-%cpu | head -n 20

`stat` 里如果大量出现 `D` 状态,通常是不可中断 IO 等待,可能和磁盘、数据库、存储或文件系统有关。此时只升级 CPU 往往没用。

什么时候看磁盘 IO

如果系统有 iostat:

iostat -x 1 5

关注磁盘利用率、等待时间和读写压力。数据库、日志写入、备份任务、压缩任务都可能把 IO 打满。

常见判断路径

表现可能原因处理方向
CPU us 高,Load 高程序计算压力或异常进程找高 CPU 进程
CPU wa 高,Load 高磁盘 IO 等待查磁盘、数据库、日志
CPU 不高,D 状态多存储或文件系统等待查 IO 和系统日志
只有定时高计划任务、备份、统计脚本查 cron 和任务日志

日志和任务也要看

如果 Load 在固定时间升高,检查计划任务:

crontab -l
ls -la /etc/cron*

备份、压缩、统计、同步任务都可能在固定时间拉高负载。Web 业务还应结合访问日志判断是否有爬虫或异常请求。

不要只靠重启

重启能把 Load 降下来,但不能解释它为什么升高。重启前至少记录 uptime、top、ps、磁盘空间、业务日志和发生时间。否则下次高负载仍会重复发生。

用户可以自行查看进程、CPU、IO、磁盘和应用日志。如果怀疑宿主机 IO 异常、虚拟化资源争用、存储故障或攻击流量,需要服务商协助确认底层状态。

上一篇 SSH 提示 `Connection timed out` 怎么处理?网络、防火墙和安全组排查 下一篇 Linux 服务器突然变慢,应该先看哪些指标

LHIDC 产品中心

继续查看可购买的海外服务器产品

文章用于辅助选型,最终价格、库存与配置请以产品详情页和下单页面展示为准。

查看产品 查看方案