iostat命令详解
iostat
iostat用于输出CPU和磁盘I/O相关的统计信息.
命令格式:
<span class="search_hit" style="line-height:normal">iostat</span> [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ]<br style="line-height:normal" /> [ interval [ count ] ]
1)iostat的 简单使用
iostat可以显示CPU和I/O系统的负载情况及分区状态信息.
直接执行iostat可以显示下面内容:
# <span class="search_hit" style="line-height:normal">iostat</span><br style="line-height:normal" />Linux 2.6.9-8.11.EVAL (ts3-150.ts.cn.tlan) 08/08/2007<br style="line-height:normal" /><br style="line-height:normal" />avg-cpu: %user %nice %sys %iowait %idle<br style="line-height:normal" /> 12.01 0.00 2.15 2.30 83.54<br style="line-height:normal" /><br style="line-height:normal" />Device: tps Blk_read/s <span class="search_hit" style="line-height:normal">Blk_wrtn</span>/s Blk_read <span class="search_hit" style="line-height:normal">Blk_wrtn</span><br style="line-height:normal" />hda 7.13 200.12 34.73 640119 111076
各个输出项目的含义如下:
avg-cpu段:<br style="line-height:normal" />%user: 在用户级别运行所使用的CPU的百分比.<br style="line-height:normal" />%nice: nice操作所使用的CPU的百分比.<br style="line-height:normal" />%sys: 在系统级别(kernel)运行所使用CPU的百分比.<br style="line-height:normal" />%iowait: CPU等待硬件I/O时,所占用CPU百分比.<br style="line-height:normal" />%idle: CPU空闲时间的百分比.<br style="line-height:normal" />Device段:<br style="line-height:normal" />tps: 每秒钟发送到的I/O请求数.<br style="line-height:normal" />Blk_read /s: 每秒读取的block数.<br style="line-height:normal" /><span class="search_hit" style="line-height:normal">Blk_wrtn</span>/s: 每秒写入的block数.<br style="line-height:normal" />Blk_read: 读入的block总数.<br style="line-height:normal" /><span class="search_hit" style="line-height:normal">Blk_wrtn</span>: 写入的block总数.
2)iostat参 数说明
iostat各个参数说明:
-c 仅显示CPU统计信息.与-d选项互斥.<br style="line-height:normal" /> -d 仅显示磁盘统计信息.与-c选项互斥.<br style="line-height:normal" /> -k 以K为单位显示每秒的磁盘请求数,默认单位块.<br style="line-height:normal" /> -p device | ALL<br style="line-height:normal" /> 与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:<br style="line-height:normal" /> # <span class="search_hit" style="line-height:normal">iostat</span> -p hda<br style="line-height:normal" /> 或显示所有设备<br style="line-height:normal" /> # <span class="search_hit" style="line-height:normal">iostat</span> -p ALL<br style="line-height:normal" /> -t 在输出数据时,打印搜集数据的时间.<br style="line-height:normal" /> -V 打印版本号和帮助信息.<br style="line-height:normal" /> -x 输出扩展信息.
3)iostat输 出项目说明
Blk_read<br style="line-height:normal" /> 读入块的当总数.<br style="line-height:normal" /><br style="line-height:normal" /> <span class="search_hit" style="line-height:normal">Blk_wrtn</span><br style="line-height:normal" /> 写入块的总数.<br style="line-height:normal" /><br style="line-height:normal" /> kB_read/s<br style="line-height:normal" /> 每秒从驱动器读入的数据量,单位为K.<br style="line-height:normal" /><br style="line-height:normal" /> kB_wrtn/s<br style="line-height:normal" /> 每秒向驱动器写入的数据量,单位为K.<br style="line-height:normal" /><br style="line-height:normal" /> kB_read<br style="line-height:normal" /> 读入的数据总量,单位为K.<br style="line-height:normal" /><br style="line-height:normal" /> kB_wrtn<br style="line-height:normal" /> 写入的数据总量,单位为K.<br style="line-height:normal" /><br style="line-height:normal" /> rrqm/s<br style="line-height:normal" /> 将读入请求合并后,每秒发送到设备的读入请求数.<br style="line-height:normal" /><br style="line-height:normal" /> wrqm/s<br style="line-height:normal" /> 将写入请求合并后,每秒发送到设备的写入请求数.<br style="line-height:normal" /><br style="line-height:normal" /> r/s<br style="line-height:normal" /> 每秒发送到设备的读入请求数.<br style="line-height:normal" /><br style="line-height:normal" /> w/s<br style="line-height:normal" /> 每秒发送到设备的写入请求数.<br style="line-height:normal" /><br style="line-height:normal" /> rsec/s<br style="line-height:normal" /> 每秒从设备读入的扇区数.<br style="line-height:normal" /><br style="line-height:normal" /> wsec/s<br style="line-height:normal" /> 每秒向设备写入的扇区数.<br style="line-height:normal" /><br style="line-height:normal" /> rkB/s<br style="line-height:normal" /> 每秒从设备读入的数据量,单位为K.<br style="line-height:normal" /><br style="line-height:normal" /> wkB/s<br style="line-height:normal" /> 每秒向设备写入的数据量,单位为K.<br style="line-height:normal" /><br style="line-height:normal" /> avgrq-sz<br style="line-height:normal" /> 发送到设备的请求的平均大小,单位是扇区.<br style="line-height:normal" /><br style="line-height:normal" /> avgqu-sz<br style="line-height:normal" /> 发送到设备的请求的平均队列长度.<br style="line-height:normal" /><br style="line-height:normal" /> await<br style="line-height:normal" /> I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒.<br style="line-height:normal" /><br style="line-height:normal" /> svctm<br style="line-height:normal" /> 发送到设备的I/O请求的平均执行时间.单位是毫秒.<br style="line-height:normal" /><br style="line-height:normal" /> %util<br style="line-height:normal" /> 在I/O请求发送到设备期间,占用CPU时间的百分比.用于显示设备的带宽利用率.<br style="line-height:normal" /> 当这个值接近100%时,表示设备带宽已经占满.
4)iostat示 例
# <span class="search_hit" style="line-height:normal">iostat</span><br style="line-height:normal" /> 显示一条统计记录,包括所有的CPU和设备.<br style="line-height:normal" /><br style="line-height:normal" /> # <span class="search_hit" style="line-height:normal">iostat</span> -d 2<br style="line-height:normal" /> 每隔2秒,显示一次设备统计信息.<br style="line-height:normal" /><br style="line-height:normal" /> # <span class="search_hit" style="line-height:normal">iostat</span> -d 2 6<br style="line-height:normal" /> 每隔2秒,显示一次设备统计信息.总共输出6次.<br style="line-height:normal" /><br style="line-height:normal" /> # <span class="search_hit" style="line-height:normal">iostat</span> -x hda hdb 2 6<br style="line-height:normal" /> 每隔2秒显示一次hda,hdb两个设备的扩展统计信息,共输出6次.<br style="line-height:normal" /><br style="line-height:normal" /> # <span class="search_hit" style="line-height:normal">iostat</span> -p sda 2 6<br style="line-height:normal" /> 每隔2秒显示一次sda及上面所有分区的统计信息,共输出6次.