Linux每天一个命令:iostat
iostat用于输出CPU和磁盘I/O相关的统计信息
安装Sysstat工具包
centos: yum install sysstat
ubuntu: sudo apt-get install sysstat
iostat语法
Usage: iostat [ options ] [ <interval> [ <count> ] ]
man iostat 查看具体帮助信息
常用选项:
-c 显示CPU信息
-d 显示磁盘信息
-k/-m 显示单位kb/mb
-x 显示更为详细的信息
-p 显示系统使用的块设备及其所有分区的统计信息
interval 刷新间隔时间
count 总共显示次数
示例:
iostat:系统开机到当前执行时刻的统计信息
字段含义:
avg-cpu:总体cpu统计信息(系统开机至此刻平均统计信息);
user:用户空间cpu占用百分比
nice:进程优先级切换cpu占用百分比
system:内核空间cpu占用百分比
iowait:cpu等待磁盘写入完成时间;重点关注:该值较高时,说明IO等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈
steal:hypervisor偷取时间
idle:空闲cpu占用百分比
device:磁盘设备的IO统计信息
tps:设备每秒IO次数
KB_read/s:每秒从设备(drive expressed)读取的数据量
KB_wrtn/s:每秒向设备(driveexpressed)写入的数据量
KB_read:设备读取的总数据量
KB_wrtn:设备写入的总数量
iostat -x 1 3:每隔1S输出cpu及磁盘IO的详细信息,总共显示3次
rrqm/s:每秒进行merge(合并)的读操作数目;文件系统会对读取同块(block)的请求进行合并
wrqm/s:每秒进行merge(合并)的写操作数目
r/s:每秒完成的读I/O设备次数
w/s:每秒完成的写I/O设备次数
rkB/s:每秒读K字节数
wkB/s:每秒写K字节数
avgrq-sz:平均每次设备I/O操作的数据大小(扇区为单位)
avgqu-sz:平均I/O队列长度
await:平均每次设备I/O操作的等待时间(毫秒)
svctm:平均每次设备I/O操作的处理时间(毫秒)
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的
重点关注参数:
%iowait:表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题
await: 表示每次IO请求等待时间,包括等待时间和处理时间;等待时间过长,说明磁盘IO存在瓶颈或问题
svctm :表示每次IO请求处理的时间
%util :表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态
参考:https://www.cnblogs.com/ultranms/p/9327784.html
***********************************************************
学习永远不晚。——高尔基
***********************************************************