Plainnotes

iostat 里的 await 和 util 怎么看

2025-09-24 · 3 分钟系统

iostat -x 1 输出里有两列容易被误读。

%util:设备有请求在处理的时间占比。对单队列的机械盘,100% 基本等于饱和;但对 NVMe 或多队列设备,100% 只说明一直有请求,不代表到上限——NVMe 的 %util 常年接近 100 却毫无压力。

await:平均每个请求的等待时间,单位毫秒,包含排队和执行。这才是用户体验到的延迟。

判断是否饱和:看 aqu-sz(平均队列长度)和 await 是否随负载线性上涨。如果 await 从 2ms 涨到 50ms,而 %util 只有 60%,说明队列在排队,盘还有余量但请求来得太猛。

r_await 和 w_await 分开看,读慢和写慢的原因完全不同。