在iostat手册页中,我发现了以下两个类似的列:
await
The average time (in milliseconds) for I/O requests issued to the device to be served. This
includes the time spent by the requests in queue and the time spent servicing them.
svctm
The average service time (in milliseconds) for I/O requests that were issued to the device.
Warning! Do not trust this field any more. This field will be removed in a future sysstat
version.这些列是否表示相同的内容?我觉得他们有时同意,但有时不同意:
avg-cpu: %user %nice %system %iowait %steal %idle
4.44 0.02 1.00 0.36 0.00 94.19
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.07 0.96 0.28 1.28 8.98 47.45 72.13 0.02 11.36 11.49 11.34 5.71 0.89
avg-cpu: %user %nice %system %iowait %steal %idle
8.00 0.00 2.50 2.50 0.00 87.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 9.00 2.00 6.00 12.00 68.00 20.00 0.05 6.00 2.00 7.33 6.00 4.80
avg-cpu: %user %nice %system %iowait %steal %idle
4.57 0.00 0.51 0.00 0.00 94.92
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
13.93 0.00 1.99 1.49 0.00 82.59
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 29.00 0.00 4.00 0.00 132.00 66.00 0.03 7.00 0.00 7.00 7.00 2.80除了svctm贬值这一明显警告之外,这两列之间有什么区别呢?
发布于 2013-12-08 09:42:33
在linux iostat上,await列(平均等待)显示了I/O请求从开始到结束计算的平均时间。
svctm列(服务时间)应该显示服务请求的平均时间,即“在操作系统之外”使用的时间。它应该等于或小于上一个请求,因为如果设备已经很忙,并且不接受更多并发请求,则请求可能会在队列中丢失等待时间。
与大多数类似于Unix / Unix的实现不同的是,Linux内核并不测量实际的服务时间,因此该平台上的iostat试图从现有的统计数据中派生它,但是失败了,因为这不能在简单的用例之外完成。
有关详细信息,请参阅此博客和接下来的有趣的讨论。
https://unix.stackexchange.com/questions/104192
复制相似问题