iostat:用于输出CPU以及磁盘I/O相关的统计信息 一、命令格式: iostat[参数][时间][次数] [root@nginx_A ~]# iostat 2 4 每隔两秒显示CPU以及磁盘使用信息,共显示4次。 Linux 2.6.32-573.el6.x86_64 (nginx_A) 2018年01月06日 x86_64 (4 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle 0.03 0.00 0.13 0.03 0.00 99.81

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn scd0 0.00 0.15 0.00 42936 0 sda 0.35 5.58 5.57 1650178 1647636

avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.25 0.00 0.00 99.75

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn scd0 0.00 0.00 0.00 0 0 sda 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.13 0.00 0.00 99.87

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn scd0 0.00 0.00 0.00 0 0 sda 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.13 0.00 0.00 99.87

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn scd0 0.00 0.00 0.00 0 0 sda 0.00 0.00 0.00 0 0

二、命令参数: -C 显示CPU使用情况 -d 显示磁盘使用状况 -k 以KB为单位显示 -m 以M为单位显示 -V 显示版本信息 -x 显示详细信息 [root@nginx_A ~]# iostat Linux 2.6.32-573.el6.x86_64 (nginx_A) 2018年01月06日 x86_64 (4 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle 0.03 0.00 0.13 0.03 0.00 99.81

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn scd0 0.00 0.15 0.00 42936 0 sda 0.35 5.61 5.59 1650162 1644292

%user:在用户级别使用的CPU百分比 %nice:nice操作使用的CPU百分比 %system:系统级别(kernel)使用的CPU百分比 %iowait:CPU等待硬件I/O时,占用的百分比 %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比 %idle:CPU空间时间的百分比 备注:如果%iowait值过高,说明硬盘I/O存在瓶颈,如果%idle值过高,表明CPU较空闲,如果%idle值过高而且系统运行较慢,可能是因为CPU需要等待分配内存,内存有问题,如果i%idle值过低,说明CPU处于高负荷状态CPU处理能力较弱,系统中最需要解决的问题是CPU资源。 tps:每秒请求的I/O次数 Blk_read/s:每秒读入的块数 Blk_wrtn/s:每秒写入的块数 Blk_read:读入的总块数 Blk_wrtn:写入的总块数

[root@nginx_A ~]# iostat -x显示详细信息 Linux 2.6.32-573.el6.x86_64 (nginx_A) 2018年01月06日 x86_64 (4 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle 0.03 0.00 0.13 0.03 0.00 99.81

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util scd0 0.03 0.00 0.00 0.00 0.15 0.00 99.62 0.00 3.32 2.97 0.00 sda 0.04 0.49 0.14 0.21 5.60 5.58 31.79 0.00 13.23 6.98 0.25

rrqm/s:每秒进行merge读操作的数目 wrqm/s:每秒进行merge写操作的数目 r/s:每秒完成读操作的数目 w/s:每秒完成写操作的数目 rsec/s:每秒读扇区数 wsec/s:每秒写扇区数 avgrq-sz:平均每次I/O数据大小 avgqu-sz:平均I/O队列长度 await:平均每次I/O等待时间 svctm:平均每次设备I/O操作处理时间 %util:每秒中有百分之多少的时间处理I/O操作

备注:如果%util值过高,说明I/O请求太多,I/O已经满负荷;如果svctm基本和await相同,说明I/O基本没有等待时间;如果await远大于svctm,说明等待时间远大于处理时间,队列太长,io响应慢;如果avgqu-sz过高,说明io队列过长,io响应可能会慢。