一、什么是IO?
io(input/output),简单的指的是CPU从磁盘中获取信息,cpu把获取到的信息进行处理,再把处理好的信息放回到磁盘中的过程,就是IO。而我们在维护的时候通过这个信息处理过程(cpu使用率,磁盘读写速度)判断服务器的性能,从而更好的优化服务器。iostat命令工具就很好的进行的统计其中的信息。
二、linux iostat 命令的使用
2.1 安装iostat工具
使用iostat命令需要先安装软件
yum -y install iostat
2.2 运行iostat命令
获取cpu和磁盘报告的基本信息
[root@localhost ~]# iostat Linux 3.10.0-693.5.2.el7.x86_64 (jdu4e00u53f7) 12/06/2017 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.56 0.00 0.55 0.02 0.07 98.81 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 2.12 0.56 26.58 863801 &nnbsp; 41111171 [root@localhost ~]#
基本信息解释:
avg-cpu:
%user: 在用户级别运行所使用的CPU的百分比
%nice: nice操作所使用的CPU的百分比
%system: 在系统级别(kernel)运行所使用CPU的百分比
%iowait: CPU等待硬件I/O时,所占用CPU百分比
%steal:虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
%idle: CPU空闲时间的百分比
Device:
tps: 每秒钟发送到的I/O请求数
kB_read /s: 每秒读取的数据量,单位kb
kB_wrtn/s: 每秒写入的数据量,单位kb
kB_read: 读入的数据量总数,单位kb
kB_wrtn: 写入的数据量总数,单位kb
2.3 iostat命令的参数说明
查看iostat帮助可以看到所有参数列表
[root@localhost ~]# iostat --help Usage: iostat [ options ] [ <interval> [ <count> ] ] Options are: [ -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 ] [root@localhost ~]#
参数解释:
-c 仅显示CPU统计信息.与-d选项互斥.
-d 仅显示磁盘统计信息.与-c选项互斥.
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL 与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:
# iostat -p hda 或显示所有设备
# iostat -p ALL -t 在输出数据时,打印搜集数据的时间.
-V 打印版本号和帮助信息.
-x 输出扩展信息.
2.4常用命令
-查看cpu信息:iostat -c
[root@localhost ~]# iostat -c Linux 3.10.0-693.5.2.el7.x86_64 (jdu4e00u53f7) 12/06/2017 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.56 0.00 0.55 0.02 0.07 98.81 [root@localhost ~]#
-查看指定磁盘信息 :iostat -d vda
[root@localhost ~]# iostat -d vad Linux 3.10.0-693.5.2.el7.x86_64 (jdu4e00u53f7) 12/06/2017 _x86_64_ (1 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn [root@localhost ~]#
-定时取样操作:iostat 每秒 次数(iostat 1 10 : 1秒取样一次,取10次 | iostat -d vda 1 10 : 指定磁盘1秒取样一次,取10次)
[root@localhost ~]# iostat -d vda 1 5 Linux 3.10.0-693.5.2.el7.x86_64 (jdu4e00u53f7) 12/06/2017 _x86_64_ (1 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 2.13 0.56 26.59 863845 41197757 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 0.00 0.00 0.00 0 0 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 10.00 0.00 108.00 0 108 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 11.11 0.00 114.14 0 113 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda&nbsnbsp; 1.98 0.00 6.44 0 6