
一、Load Average 到底是什么
Load Average 是系统在过去 1 分钟、5 分钟、15 分钟内的平均活跃进程数。注意"活跃"不只包括正在用 CPU 的进程,还包括等待 CPU 的和等待磁盘 IO 的。这一点非常关键:负载高不等于 CPU 忙。
三个数值要连起来看:如果 1 分钟远高于 15 分钟,说明负载是刚冲上来的;如果三个都高,说明压力持续存在;如果 15 分钟高而 1 分钟低,说明刚在缓解。
二、多少算高
- 经验法则:负载值除以 CPU 逻辑核数,接近 1 表示刚好跑满,长期超过 1 就要警惕;
- 举例:8 核机器负载 8 属于满载,负载 16 就是严重过载,请求会明显排队;
- 看趋势:单次尖峰不可怕,持续高于核数才需要处理;
- 看业务:批处理型业务短期跑满可接受,交互型业务要留足余量。
三、和 CPU 使用率的区别
这是最常见的误判来源:
- CPU 使用率高、负载也高:计算密集型,确实在烧 CPU;
- CPU 使用率低、负载却高:大量进程卡在 IO 等待,典型是磁盘慢或存储异常;
- CPU 使用率高、负载不高:少数进程跑满 CPU,但整体队列不长。
所以看到负载高,第一件事是看 CPU 使用率,两者对不上就往 IO 方向查。
四、分层排查步骤
- 第一步:看整体,用 uptime 看三个负载值,用 top 看 CPU 与内存概况;
- 第二步:找进程,看是哪个或哪类进程在堆积,是业务进程还是系统进程;
- 第三步:分方向,按 CPU、内存、磁盘、网络四个方向逐个排除;
- 第四步:看等待,重点看 IO 等待占比,判断是否卡在存储;
- 第五步:看依赖,应用是否在等数据库或外部接口;
- 第六步:定位后处理,先恢复再复盘。
五、按方向定位成因
- CPU 方向:业务量上涨、死循环、频繁 GC,参考服务器CPU占用率100%怎么排查;
- 内存方向:内存不足触发频繁换页,负载被 IO 拉高,参考服务器内存不足怎么办;
- 磁盘方向:慢盘、坏盘、RAID 降级、日志狂写,参考服务器硬盘读写慢怎么办;
- 网络方向:丢包重传导致进程阻塞,参考服务器网络丢包怎么办。
六、几种容易误判的情形
- 备份或批处理在跑:夜间备份、压缩、扫描会短时拉高负载,属于正常现象;
- 容器与虚拟化统计差异:宿主机负载包含所有虚拟机的贡献,单看某个容器会误判;
- 僵尸进程堆积:父进程未回收子进程,进程表膨胀但 CPU 不高;
- NFS 或共享存储挂起:远端存储无响应,本机进程集体卡在 IO 等待;
- 瞬时尖峰:定时任务同时启动,几秒内冲高随即回落。
判断是否异常的通用方法是看历史基线,监控体系可参考企业服务器性能监控与告警体系搭建。
七、应急处理与长期优化
- 应急:先摘流量或限流,保住核心业务;必要时重启异常进程,但先留现场;
- 短期:调整进程数与队列长度,错峰安排批处理任务;
- 中期:为 IO 瓶颈加 SSD 缓存或升级存储,为 CPU 瓶颈扩核;
- 长期:建立容量水位与告警阈值,按趋势提前扩容;
- 架构:把读写密集与计算密集的服务拆开部署,避免互相拖累。
八、结语
Load Average 高的排查,核心是分清是 CPU 忙还是 IO 等。CPU 高就往计算与并发查,CPU 低负载高就往存储与依赖查。配合监控建立基线,才能判断"高"是不是真的异常。今朝恒业可提供服务器性能优化、存储升级与扩容的选型与交付服务。
延伸阅读推荐:

