在 Linux 服务器运维中,CPU 高、内存高、负载高都比较容易发现,但很多时候服务器卡顿、业务响应慢,根源其实在磁盘 I/O 瓶颈。
数据库读写、文件上传下载、日志大量刷盘、消息队列持久化等场景,都极易造成 I/O 拥堵。而 iostat 正是 Linux 下最经典、最实用的磁盘 I/O 监控工具,能帮你快速定位:
- 哪块盘最忙
- 是读多还是写多
- I/O 响应慢不慢
- 磁盘是否已经跑满瓶颈
本文用最直白的方式,带你从零学会使用 iostat,看懂每一列指标,快速定位磁盘 I/O 瓶颈。
如果要监控系统进程资源的可以参考:《htop/top 实时系统资源监控 新手如何看懂》
一、iostat 是什么 & 安装
iostat 属于 sysstat 工具集,用于统计系统磁盘 I/O 使用情况、CPU 使用率,重点面向块设备 I/O 监控。
安装
# CentOS / RHEL
yum install -y sysstat
# Ubuntu / Debian
apt install -y sysstat
最常用命令
# 实时刷新,每隔 1 秒输出一次,无限刷新
iostat -x 1
# 刷新 3 次后退出
iostat -x 1 3
# 只看磁盘,不看 CPU
iostat -d -x 1
# 查看指定设备 sda
iostat -x -d sda 1

参数说明:
-x:显示扩展统计信息(必须加,看瓶颈全靠它)-d:仅显示磁盘统计,不显示 CPU1:每隔 1 秒刷新一次3:总共输出 3 次
二、iostat 关键指标详解(看懂这些就够了)
重点看 Device 后面的扩展字段,下面是线上排查最核心的几个指标:
1. rrqm/s & wrqm/s
- 每秒合并的读请求数、写请求数
- 数值越高说明系统 I/O 调度效率越好
2. r/s & w/s
- 每秒向磁盘发起的实际读 I/O、写 I/O 次数
- 直接反映 I/O 并发量
3. rMB/s & wMB/s
- 每秒读取、写入的数据量
- 直观判断流量大小
4. await(非常关键)
- 每次 I/O 请求的平均等待时间(毫秒)
- 包含排队时间 + 磁盘实际处理时间
- 正常:< 20ms
- 轻微繁忙:20~50ms
- 严重瓶颈:> 100ms,业务一定会卡顿
5. svctm(重要)
- 磁盘实际处理 I/O 的平均时间(毫秒)
- 不包含队列等待
- 正常:< 20ms
- 过高说明磁盘硬件或固件存在性能瓶颈
6. % util(核心瓶颈指标)
- 磁盘繁忙时间占比
- 接近 100% 说明磁盘已跑满,I/O 饱和
- 只要 % util 持续 100%,服务器一定卡顿
7. aqu-sz
- 平均等待中的 I/O 请求队列长度
- 队列越长,I/O 拥堵越严重
三、最简单的瓶颈判断套路(新手直接照抄)
场景 1:% util 接近 100%
→ 磁盘 I/O 已饱和,成为系统瓶颈
可能原因:
- 数据库大量随机读写
- 日志疯狂刷盘
- 大文件读写密集
- 磁盘性能过低(HDD 机械盘尤其常见)
场景 2:await 很大,但 svctm 很小
→ 磁盘本身不慢,但 I/O 排队严重
问题:I/O 请求太多,队列拥堵
优化方向:程序限流、异步化、减少刷盘频率
场景 3:await 和 svctm 都很大
→ 磁盘硬件性能不足
优化方向:更换 SSD、升级云盘性能、RAID 优化
场景 4:w/s 很高,r/s 很低
→ 典型写密集型业务
如:日志收集、消息队列、大数据写入
场景 5:r/s 很高,w/s 很低
→ 典型读密集型业务
如:数据库查询、静态文件服务、搜索引擎
四、常用组合命令
1. 实时查看完整 I/O 详情
iostat -x 1
2. 只看磁盘,不看 CPU
iostat -d -x 1
3. 按设备查看(如 sdb)
iostat -x -d sdb 1
4. 查看历史启动以来的汇总统计
iostat
五、I/O 瓶颈常见优化方向
当你通过 iostat 确认磁盘瓶颈后,可以从这些方向优化:
- 业务层:减少同步刷盘、批量写入、减少小文件 I/O
- 应用层:加缓存(Redis / PageCache),降低磁盘读
- 系统层:调整 I/O 调度算法(mq-deadline、none、bfq)
- 硬件层:HDD 换 SSD、提升云盘 IOPS 与吞吐量
- 架构层:读写分离、分库分表、分布式存储
六、总结
iostat 是 Linux 磁盘 I/O 排查的第一工具,不需要复杂操作,重点盯紧三个指标就能解决 90% 问题:
- %util:是否跑满
- await:是否等待过久
- rMB/s、wMB/s:读写压力大小
只要学会看懂这几个值,你就能快速判断:
- 是磁盘慢
- 是 I/O 太多
- 还是队列拥堵 从而针对性优化,快速解决服务器卡顿、业务延迟高的问题。