iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。
它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。
iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
iostat的用法
iostat的语法如下
iostat [options] [interval [times]]其中,options有以下可选值
(1)-c:仅显示CPU使用情况;
(2)-d:仅显示设备利用率;
(3)-k:显示状态以千字节每秒为单位,而不使用块每秒;
(4)-m:显示状态以兆字节每秒为单位;
(5)-p:仅显示块设备和所有被使用的其他分区的状态;
(6)-t:显示每个报告产生时的时间;
(7)-V:显示版号并退出;
(8)-x:显示扩展状态;
interval表示每次报告的间隔时间,单位是秒。
times表示显示报告的次数。
iostat报告字段解析
iostat报告中包含cpu和磁盘的使用情况。
CPU使用情况
主要包含以下字段
(1)%user:CPU处在用户模式下的时间百分比。
(2)%nice:CPU处在带NICE值的用户模式下的时间百分比。
(3)%system:CPU处在系统模式下的时间百分比。
(4)%iowait:CPU等待输入输出完成时间的百分比。
(5)%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
(6)%idle:CPU空闲时间百分比。
CPU运维经验
在实践中,有以下经验可参考:
(1)如果%iowait的值过高,表示硬盘存在I/O瓶颈
(2)如果%idle值高,表示CPU较空闲
(3)如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
(4)如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。
磁盘总体使用情况
tps:该设备每秒的传输次数
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read: 读取的总数据量;
kB_wrtn:写入的总数量数据量;
rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s
%util: 一秒中有百分之多少的时间用于 I/O
磁盘运维经验
在实践中,有以下经验可参考:
(1)如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷。