sar -d 用于监控块设备i/o,-b 用于监控系统级i/o速率;两者结合可全面评估磁盘负载,实时采样用 sar -d/-b [interval] [count],历史数据查 /var/log/sa/sadd,关键指标包括 r/s、w/s、await 和 %util。

要用 sar 收集磁盘活动报告,核心是使用 -d 选项(监控块设备 I/O)和 -b 选项(监控整体 I/O 速率),两者配合能全面反映磁盘负载情况。
实时采集磁盘 I/O 数据
执行以下命令可每 2 秒采样一次,共 5 次:
- sar -d 2 5:显示各块设备(如 sda、nvme0n1)的读写请求次数、扇区数、I/O 等待时间、队列长度等详细指标
- sar -b 2 5:显示系统级 I/O 统计,包括每秒传输块数(tps)、每秒读/写字节数(r/s, w/s)、平均请求大小(avgrq-sz)、平均等待时间(avgqu-sz)等
注意:-d 默认输出设备名缩写(如 dev8-0),加 -p 参数可显示为可读路径(如 /dev/sda):sar -d -p 2 5
查看历史磁盘活动数据
系统默认每 10 分钟将磁盘数据写入 /var/log/sa/saDD(DD 为当日日期)。例如查今天的数据:
- sar -d -f /var/log/sa/sa$(date +%d)
- sar -b -f /var/log/sa/sa$(date +%d)
若查 10 月 5 日的数据,直接用:sar -d -f /var/log/sa/sa05
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
保存自定义磁盘采样到二进制文件
想长期跟踪某次压力测试的磁盘行为,可用 -o 存储原始数据:
- sar -d -b -o disklog 1 60:每秒采样,持续 60 秒,同时记录设备级和系统级 I/O,并存为二进制文件 disklog
- 后续用 sar -d -f disklog 或 sar -b -f disklog 读取
该文件不可直接文本查看,必须用 sar -f 解析。
关键字段含义与常见判断
重点关注以下几列:
- rrqm/s, wrqm/s:每秒合并的读/写请求数 —— 过高说明 I/O 调度在积极优化
- r/s, w/s:每秒完成的读/写请求数 —— 结合设备类型判断是否已达上限(如 SATA SSD 通常 ≤ 10k IOPS)
- await(在 sar -d 中):平均 I/O 请求等待时间(毫秒)—— 持续 > 10–20ms 可能存在瓶颈
- %util(在 sar -d 中):设备忙时百分比 —— 接近 100% 表示该设备饱和
如果 %util 高 + await 高 + r/s 或 w/s 未达理论峰值,大概率是应用层或队列深度配置不合理,而非磁盘硬件本身问题。










