iostat命令
iostat是I/O statistics(输入/输出统计)的缩写,主要的功能是对系统的磁盘I/O操作进行监控。它的输出主要显示磁盘读写操作的统计信息,同时给出cpu的使用情况。
iostat一般不随系统安装,需要安装sysstat的工具包,安装完毕,系统会多出3个命令,iostat、sar、mpstat
# 安装iostat工具包
# yum -y install sysstat
iostat命令语法格式:
iostat [ -c]
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g group_name ] [ -p [ device [,...] | ALL ] ] [ device [...] |
ALL ] [ interval [ count ] ]
-c: 显示cpu的使用情况
-d: 显示磁盘的使用情况
-h: 以人类易读方式显示
-k: 每秒以kb为单位显示数据
-m: 每秒以Mb为单位显示数据
-N: 显示注册设备的映射名字
-t: 打印出统计信息开始执行的时间
-V: 显示sysstat工具包版本信息
-x: 指定要统计的磁盘设备名称,默认是所有磁盘设备
-j: 显示指定设备的名字、id、label
interval: 指定两次统计间隔的时间
count: 按照"interval"指定的时间间隔统计的次数
案例1: -c 只显示cpu的统计信息
[jht@dlpt-jcpt ~]$ iostat -c
Linux 3.10.0-1062.1.2.el7.x86_64 (dlpt-jcpt) 10/07/2021 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.67 0.00 0.30 0.03 0.00 99.00
案例2: -d 查看系统磁盘的使用状况
[jht@dlpt-jcpt ~]$ iostat -d 2 3
Linux 3.10.0-1062.1.2.el7.x86_64 (dlpt-jcpt) 10/07/2021 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 8.36 1.41 52.24 53491049 1983580633
vdb 1.37 2.02 34.89 76768433 1324727720
dm-0 2.02 2.02 34.89 76765901 1324727720
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.00 0.00 0.00 0 0
vdb 1.50 0.00 10.00 0 20
dm-0 2.50 0.00 10.00 0 20
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 2.50 0.00 30.00 0 60
vdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
详细说明:
kB_read/s: 表示每秒读取的数据块数
kB_wrtn/s: 表示每秒写入的数据块数
kB_read: 表示读取的所有块数
kB_wrtn: 表示写入的所有块数
需要注意的是上面输出的第一项是系统从启动到统计时的所有传输信息,第二次输出的数据才代表检测的时间段内系统的传输值
案例3: iostat -x组合可以查看某个磁盘的统计信息,如果不指定磁盘,默认是对所有磁盘统计
如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数
root@rocketmq-master:~# iostat -xdm /dev/vdb 1 5
Linux 5.4.0-139-generic (rocketmq-master) 06/12/2023 _x86_64_ (8 CPU)
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz aqu-sz %util
vdb 23.14 1.18 0.24 1.03 1.18 52.29 108.22 5.34 248.50 69.66 1.96 50.53 0.00 0.00 0.00 0.00 0.00 0.00 0.07 18.01
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz aqu-sz %util
vdb 0.00 0.00 0.00 0.00 0.00 0.00 520.00 21.80 1419.00 73.18 1.65 42.92 0.00 0.00 0.00 0.00 0.00 0.00 0.19 89.60
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz aqu-sz %util
vdb 1.00 0.00 0.00 0.00 0.00 4.00 570.00 33.44 1362.00 70.50 1.79 60.07 0.00 0.00 0.00 0.00 0.00 0.00 0.27 99.20
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz aqu-sz %util
vdb 0.00 0.00 0.00 0.00 0.00 0.00 659.00 27.83 1775.00 72.93 1.47 43.24 0.00 0.00 0.00 0.00 0.00 0.00 0.15 96.80
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz aqu-sz %util
vdb 0.00 0.00 0.00 0.00 0.00 0.00 620.00 29.39 1467.00 70.29 1.73 48.54 0.00 0.00 0.00 0.00 0.00 0.00 0.24 100.00