一、load average 是什么?
执行:
bash
uptime
# 或
top
会看到类似:
load average: 1.50, 1.25, 0.95
分别代表:
- 1 分钟平均负载
- 5 分钟平均负载
- 15 分钟平均负载
含义:
等待 CPU 资源的进程队列长度
数字越大 = 系统越忙、越堵。
二、怎么判断负载高不高?(最核心)
负载高不高,只看一个东西:CPU 核心数
公式
负载值 ≤ CPU 核心数 → 正常
负载值 > CPU 核心数 → 开始拥堵
举例
- 1 核 CPU:
- load < 1 → 轻松
- load 1~2 → 有点忙
- load > 5 → 卡死
- 4 核 CPU:
- load < 4 → 正常
- load 4~8 → 偏高
- load > 10 → 高负载
三、怎么看自己几核?
bash
# 看逻辑CPU核心数
grep -c 'processor' /proc/cpuinfo
四、三个数字怎么看?(实战技巧)
- 1 分钟高,5、15 低:瞬间压力,临时高峰
- 1、5 分钟高,15 低:压力持续几分钟,要观察
- 三个都高:系统长期高负载,必须处理
五、负载高 = CPU 忙?不一定!
很多新手误区:
load 高 ≠ CPU 100%
负载高有三种可能:
- CPU 密集(计算、压缩、编译)
- IO 密集(磁盘读写、MySQL、日志疯狂写)
- 大量等待锁 / 进程阻塞
六、负载高了怎么排查?(万能四件套)
1. 先看整体
bash
top
看:
- load average
- %Cpu(s)
- % wa(IO 等待)
2. 看谁吃 CPU
bash
top 后按 P
3. 看谁吃磁盘 IO
bash
iotop
4. 看谁用磁盘最多
bash
du -sh /* | sort -rh | head 10
七、最简单的判断口诀(背这个就行)
- 先看核心数
- 负载 ≤ 核数 → 没事
- 1 分钟突高 → 临时
- 三个都高 → 真忙
- CPU 高 → 杀进程
- % wa 高 → 查磁盘 / MySQL / 日志
八、几个实战判断示例
- 4 核,load: 2.0, 1.8, 1.5 → 正常
- 4 核,load: 6.0, 5.5, 4.5 → 偏高
- 4 核,load: 12, 10, 8 → 严重高负载