有时我的服务器会在“顶级”程序中显示高平均负载(例如,4 核机器上的负载约为 10),但实际 CPU 使用率并不是特别高。
我认为问题在于有许多 I/O 密集型作业正在运行。如果顶部的“%CPU”值不是那么高,是否有任何简单的方法可以识别导致负载的这些作业?
要找出导致高负载的原因,您可以检查一些内容。
vmstat -w将向您展示 ovierwiem(进程、交换、mem、cpu、io、系统)pmstat -P ALL 将为您提供每个 cpu 核心的统计信息(带有 %iowait)iostat -x寻找高 %util 或长等待或大平均队列大小
iotopps -ax寻找不可中断睡眠(通常是IO)的状态D,再运行一次检查是否仍处于D状态
sar -b- 总体IO活动sar -d- 单独的块设备 io 活动