首页/系统/Linux 运维命令速查/iostat 磁盘 IO 性能分析
性能与监控48 条

iostat 磁盘 IO 性能分析

iostat 报告设备级 IO:tps、读写吞吐、await(含排队延迟)、%util;定位磁盘瓶颈的标准工具(sysstat 包)。

Linux 运维命令速查系统更新于 2026-10-13

iostat 是什么

iostat 由 sysstat 提供,报告块设备层面的 IO 情况:每秒读写次数、吞吐量、平均等待时间、队列深度与设备利用率。它最有价值的地方在于把「设备忙不忙」与「单次 IO 慢不慢」分开——await 高说明每次请求耗时长,可能是排队也可能是后端慢;%util 高说明设备一直在忙。两者组合起来,才能判断是负载过重还是存储本身有问题。

基本信息

适用平台Linux(sysstat 包,部分最小化系统需自行安装)
命令语法iostat [选项] [间隔 [次数]]
常用选项-x 扩展统计(含 await 与 %util)、-z 跳过无 IO 的设备、-d 只显示设备不显示 CPU、-m 以 MB 为单位、-k 以 KB 为单位、-p 显示分区、-y 忽略第一份自开机以来的统计、-t 显示时间戳
采样语义第一份报告是自开机以来的累计平均,通常没有参考价值;第二份起才是区间值
权限要求普通用户即可读取;部分设备统计在容器或受限环境中不可见

典型使用场景

  • 确认磁盘瓶颈:负载高且 wa 高时,用 iostat 验证是否设备侧饱和
  • 区分延迟问题:await 明显偏高而 util 不高,说明后端存储或虚拟化层慢
  • 观察写入压力:备份、日志、数据库写入对磁盘的影响
  • 容量规划:统计持续吞吐与 IOPS,为选盘与规格调整提供依据
  • 定位个别设备:用 -d 与设备名限定范围,避免被无关设备刷屏
  • 配合 vmstat 看现场:vmstat 给等待类型,iostat 给设备侧细节

常用示例

常用示例
iostat -xz 1 5            # 扩展统计:1 秒采样,共 5 次
iostat -xz -y 1 3         # 跳过自开机以来的第一份统计
iostat -x -d sda 1        # 只看单个设备
iostat -p ALL 2           # 含分区级统计
iostat -m -x 1 3          # 以 MB/s 为单位
iostat -t -xz 1 3         # 每行带时间戳,便于与日志对齐
vmstat 1 5                # 与 vmstat 的 wa、b 对照看
iotop -o -b -n 2 | head   # 找出具体是哪个进程在压 IO

关键列读法

列含义异常判断
r/s、w/s每秒读、写请求数(IOPS)与小文件密集访问相关
rkB/s、wkB/s读写吞吐量与顺序大文件访问相关
await平均单次 IO 耗时(毫秒),含排队时间明显高于设备正常水平即为异常
r_await、w_await读与写各自的平均耗时分别判断读写哪一侧慢
aqu-sz平均队列长度持续增大说明请求堆积严重
%util设备有请求在处理的时间比例传统单队列设备上接近 100% 即饱和
第一份报告不要用:iostat 输出的第一部分是自开机以来的平均值,采样窗口可能有几天,无法反映当前状态。要么加 -y 跳过它,要么直接看第二次及之后的行。批量采集归档时同样要注意这一点,否则历史曲线会被开机以来的均值污染。
%util 的含义受设备架构影响:它诞生于单队列磁盘时代,在 NVMe 与多队列设备上,即使并行能力早已用满,该值也可能只显示为某个百分比。判断这类设备是否饱和,应更多参考 await 与 aqu-sz 的变化趋势,而不是只盯 %util 是否到 100%。
云主机与 RAID 场景下要交叉验证:iostat 看到的是虚拟机或阵列呈现给操作系统的逻辑设备,其性能还受后端存储、网络块存储与阵列缓存策略影响。本地指标正常而应用仍慢时,应同时查看云平台或存储设备的监控数据。

易错点

  • %util 是设备忙比例,在 NVMe 等多队列设备上不能直接代表饱和程度,要结合 await 与 aqu-sz 一起判断
  • 把第一份统计当成当前值:它是自开机以来的平均,须用 -y 跳过或只看后续行
  • await 突增而 %util 不高时继续怀疑本机磁盘,实际瓶颈可能在后端存储或虚拟化层,应交叉对照平台指标
  • 云盘与 RAID 的物理 IO 与操作系统看到的逻辑设备不对齐,只凭 iostat 判断容易得出错误结论
  • 容器内看不到宿主机设备的完整统计,用容器里的 iostat 判断宿主磁盘状况会得到片面结果

数据来源与参考

  • man 1 iostat(sysstat)
  • sysstat 官方文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌