iostat 监视I/O子系统

iostat 监视I/O子系统

一、iostat介绍

iostat用于输出CPU和磁盘I/O相关的统计信息。

[root@host-47-98-97-124 ~]# iostat
Linux 3.10.0-693.2.2.el7.x86_64 (host-47-98-97-124)     2018年06月20日     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.44    0.00    1.09    0.03    0.00   95.44

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.61         0.81         3.80     498465    2352284

二、iostat语法

[root@host-47-98-97-124 ~]# iostat --help
用法: iostat [ 选项 ] [ <时间间隔> [ <次数> ] ]
选项:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ [ -T ] -g <用户组名> ] [ -p [ <设备> [,...] | ALL ] ]
[ <设备> [...] | ALL ]

-c:显示cpu状态信息
-d 显示磁盘使用情况
-k 以 KB 为单位显示
-m 以 M 为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-p[磁盘] 显示磁盘和分区的情况
-t 显示终端和CPU的信息
-x 显示详细信息
-V 显示版本信息

三、iostat输出内容参数介绍

[root@host-47-106-141-17 ~]# iostat -d -k -x 1 
Linux 3.10.0-693.2.2.el7.x86_64 (host-47-106-141-17)    06/20/2018  _x86_64_    (1 CPU)

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.32   0.05 0.56  0.80   3.80   15.21    1.23     3.41  1.41     3.58    0.67   0.04

对于以上示例输出,我们可以获取到以下信息: 
每秒向磁盘上写3.8kb左右数据(wkB/s值) 
每秒有0.61次IO操作(r/s+w/s=0.05+0.56),其中以写操作为主体 
平均每次IO请求等待时间为3.58毫秒(await),处理时间为0.67毫秒 
等待处理的IO请求队列中,平均有1.23(avgqu-sz)个请求驻留

选项      说明
%user    CPU在用户态执行进程的时间百分比。
%nice    CPU在用户态模式下,用于nice操作,所占用CPU总时间的百分比
%system  CPU处在内核态执行进程的时间百分比
%iowait  CPU用于等待I/O操作占用CPU总时间的百分比
%steal   管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比
%idle    CPU空闲时间百分比
注:
1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈 
2. 若 %idle 的值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量 
3. 若 %idle 的值持续低于1,则系统的CPU处理能力相对较低,表明系统中最需要解决的资源是 CPU


选项  说明
rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数.即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数.即 delta(wio)/s
rsec/s: 每秒读扇区数.即 delta(rsect)/s
wsec/s: 每秒写扇区数.即 delta(wsect)/s
rkB/s: 每秒读K字节数.是 rsect/s 的一半,因为每扇区大小为512字节.(需要计算)
wkB/s: 每秒写K字节数.是 wsect/s 的一半.(需要计算)
avgrq-sz:平均每次设备I/O操作的数据大小 (扇区).delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O队列长度.即 delta(aveq)/s/1000 (因为aveq的单位为毫秒).
await: 平均每次设备I/O操作的等待时间 (毫秒).即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒).即 delta(use)/delta(rio+wio)
%util:在 I/O 请求发送到设备期间,占用 CPU 时间的百分比。用于体现设备的带宽利用率。

注:
1. avgqu-sz 的值较低时,设备的利用率较高。
2. 当 %util 的值接近 100% 时,表示设备带宽已经占满。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值