sar -d
是 sar
命令中的一个选项,用于显示磁盘 I/O 统计信息。它提供有关磁盘设备读写操作的详细信息,有助于监控磁盘性能和识别潜在的 I/O 瓶颈。
sar -d
命令详解
基本用法
sar -d [interval] [count]
interval
:指定数据收集的时间间隔(秒)。count
:指定收集的数据条数。
如果不提供 interval
和 count
参数,sar -d
会显示系统启动以来的累计统计信息。
输出内容
执行 sar -d
后,你会看到类似以下格式的输出:
Linux 5.4.0-58-generic (hostname) 09/02/2024 _x86_64_ (2 CPU)
12:00:01 AM DEV r/s w/s rkb/s wkb/s avgrq-sz avgqu-sz await svctm %util
12:10:01 AM sda 10.00 20.00 500.00 1000.00 102.00 0.50 20.00 10.00 60.00
12:20:01 AM sda 12.00 25.00 600.00 1200.00 105.00 0.40 18.00 8.00 65.00
列解释
- DEV:磁盘设备名称。
- r/s:每秒读取请求数(读操作的数量)。
- w/s:每秒写入请求数(写操作的数量)。
- rkb/s:每秒读取的数据量(KB)。
- wkb/s:每秒写入的数据量(KB)。
- avgrq-sz:平均请求大小(KB)。
- avgqu-sz:平均请求队列长度。
- await:平均每个 I/O 请求的等待时间(毫秒)。
- svctm:平均服务时间(毫秒)。
- %util:设备的利用率百分比(设备处于忙碌状态的时间百分比)。
示例
-
每 5 秒收集一次数据,总共收集 10 次
sar -d 5 10
这将每 5 秒输出一次磁盘 I/O 统计信息,总共输出 10 次。
-
查看过去 1 小时的磁盘 I/O 统计信息
sar -d -f /var/log/sa/saXX
这里的
/var/log/sa/saXX
是保存的sar
数据文件,XX
是日期。
解析数据
- 高 I/O 请求数:如果
r/s
和w/s
值很高,可能表明磁盘 I/O 密集型操作。 - 高等待时间:
await
值高可能表示 I/O 请求的响应时间长,可能导致性能问题。 - 高设备利用率:
%util
高表示磁盘经常处于忙碌状态,可能是瓶颈所在。
通过使用 sar -d
,你可以详细监控磁盘的性能,识别可能的 I/O 问题,并进行相应的优化。