Linux iostat 命令
常见标题显示
$ iostat -xt 1 1
Linux 3.10.0-1160.45.1.el7.x86_64 (VM-0-16-centos) 05/29/2022 _x86_64_ (4 CPU)
05/29/2022 09:23:14 PM
avg-cpu: %user %nice %system %iowait %steal %idle
0.09 0.00 0.12 0.01 0.00 99.79
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.22 0.02 0.65 0.95 4.77 17.04 0.00 2.24 3.84 2.19 0.57 0.04
vdb 0.00 0.00 0.00 0.00 0.00 0.00 48.89 0.00 0.49 0.49 0.00 0.33 0.00
scd0 0.00 0.00 0.00 0.00 0.00 0.00 7.23 0.00 0.18 0.18 0.00 0.18 0.00
iostat 命令详情
- %user:CPU 处在用户模式下的时间百分比。
- %nice:CPU 处在带 NICE 值的用户模式下的时间百分比。
- %system:CPU 处在系统模式下的时间百分比。正常小于 15%
- %iowait:CPU 等待输入输出完成时间的百分比。
- %steal:管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比。
- %idle:CPU 空闲时间百分比。
- rrqm/s:每秒这个设备相关的读取请求有多少被 Merge 了(当系统调用需要读取数据的时候,VFS 将请求发到各个 FS,如果 FS 发现不同的读取请求读取的是相同 Block 的数据,FS 会将这个请求合并 Merge)
- wrqm/s:每秒这个设备相关的写入请求有多少被 Merge 了
- rsec/s:每秒读取的扇区数
- wsec/:每秒写入的扇区数
- r/s:每秒完成的读次数
- w/s:每秒完成的写次数
- avgrq-sz:平均每次设备 I/O 操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
- avgqu-sz:平均 I/O 队列长度。即 delta(aveq)/s/1000 (因为 aveq 的单位为毫秒)。 队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水。
- await: 平均每次设备 I/O 操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) 平时就看 await 值大小,几千或者几万磁盘就是有问题
- r_await:每个读操作平均所需的时间;不仅包括硬盘设备读操作的时间,还包括了在 kernel 队列中等待的时间
- w_await:每个写操作平均所需的时间;不仅包括硬盘设备写操作的时间,还包括了在 kernel 队列中等待的时间
- svctm:平均每次设备 I/O 操作的服务时间 (毫秒)
- %util: 在统计时间内所有处理 IO 时间,除以总共统计时间。例如,如果统计间隔 1 秒,该设备有 0.8 秒在处理 IO,而 0.2 秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度
别人一个不错的例子.(I/O 系统 vs. 超市排队)
举一个例子,我们在超市排队 checkout 时,怎么决定该去哪个交款台呢? 首当是看排的队人数,5 个人总比 20 人要快吧? 除了数人头,我们也常常看看前面人购买的东西多少,如果前面有个采购了一星期食品的大妈,那么可以考虑换个队排了。还有就是收银员的速度了,如果碰上了连 钱都点不清楚的新手,那就有的等了。另外,时机也很重要,可能 5 分钟前还人满为患的收款台,现在已是人去楼空,这时候交款可是很爽啊,当然,前提是那过去的 5 分钟里所做的事情比排队要有意义 (不过我还没发现什么事情比排队还无聊的)。
I/O 系统也和超市排队有很多类似之处:
- r/s+w/s 类似于交款人的总数
- 平均队列长度(avgqu-sz)类似于单位时间里平均排队人的个数
- 平均服务时间(svctm)类似于收银员的收款速度
- 平均等待时间(await)类似于平均每人的等待时间
- 平均 I/O 数据(avgrq-sz)类似于平均每人所买的东西多少
- I/O 操作率(%util)类似于收款台前有人排队的时间比例。
我们可以根据这些数据分析出 I/O 请求的模式,以及 I/O 的速度和响应时间。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

上一篇: Linux iotop 命令
下一篇: Linux iodump 命令
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论