服务器负载高但CPU利用率低
一、核心概念解析
-
负载(Load Average)
- 表示系统 可运行状态(R) 和 不可中断状态(D) 的平均进程数。
- 例如:
1分钟负载=5
表示过去1分钟内有5个进程在等待CPU或I/O资源。 - 高负载 ≠ 高CPU使用率,可能是I/O、内存、锁等资源争用。
-
CPU利用率(CPU Usage)
- CPU忙碌时间的百分比(用户态+内核态)。
- 低CPU利用率可能表明CPU并非瓶颈,但其他资源(如I/O)存在瓶颈。
二、可能原因及排查步骤
1. 磁盘I/O瓶颈
- 表现:进程因等待磁盘I/O(状态为
D
)而阻塞。 - 排查工具:
iostat -x 1 # 查看磁盘I/O使用率、await(平均等待时间)、%util pidstat -d 1 # 查看进程级磁盘I/O
- 关键指标:
%util
> 80% 或await
显著升高(如>50ms)表明磁盘过载。 <