简介
iostat主要用于监控系统设备的io负载情况,iostat首次运行是现实自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
语法
iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]
入门使用
iostat可以显示CPU和IO系统的负载情况及分区状态信息。直接执行iostat显示下面内容:
# iostat Linux 2.6.32-573.el6.x86_64 (node-5) 06/14/2017 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.12 0.00 0.32 0.56 0.00 99.00 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 4.38 169.17 28.12 283700 47162 scd0 0.02 0.16 0.00 264 0
各个输出项目的含义如下:
第一行显示的为当前系统内核版本,系统时间,cpu核数。 avg-cpu段: %user:在用户级别运行所使用的CPU的百分比。 %nice :nice操作所使用的CPU的百分比。 %system:在系统级别(kernel)运行所使用的CPU的百分比。 %iowait:CPU等待硬件I/O时,所占用的百分比。 %steal:管理程序维护另一个虚拟处理器时,虚拟CPU无意识等待时间百分比。 %idle:CPU空闲时的百分比。 Device段: tps: 每秒钟发送到的I/O请求数。 Blk_read/s: 每秒读取的block数。 Blk_wrtn/s: 每秒写入的block数。 Blk_read: 读入的block总数。 Blk_wrtn: 写入的block总数。
iostat命令常用参数说明
-c 仅显示 CPU 统计信息。与 -d 选项互斥。 -d 仅显示磁盘统计信息。与 -c 选项互斥。 -k 以 KB为单位显示每秒的磁盘请求数,默认单位块。 -m 以MB为单位显示每秒的磁盘请求数。 -N 显示磁盘阵列信息 -n 显示网络文件系统NFS报告。此选项仅适用于Linux内核2.6.17以上版本。 -p device | ALL。与 -x 选项互斥,用于显示块设备及系统分区的统计信息,也可以在 -p 后指定一个设备名,如:iostat -p hda;或显示所有设备:iostat -p ALL -t 在输出数据时,打印收集数据的时间。 -V 打印版本号和帮助信息。 -x 输出扩展信息。
iostat简单使用
# iostat 显示一条统计记录,包括所有的CPU和设备. # iostat -d 2 每隔2秒,显示一次设备统计信息. # iostat -d 2 6 每隔2秒,显示一次设备统计信息.总共输出6次. # iostat -x hda hdb 2 6 每隔2秒显示一次hda,hdb两个设备的扩展统计信息,共输出6次. # iostat -p sda 2 6 每隔2秒显示一次sda及上面所有分区的统计信息,共输出6次.
iostat -x 参数说明
iostat -x会输出扩展信息,显示信息如下。
Linux 2.6.32-573.el6.x86_64 (node-5) 06/14/2017 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.06 0.00 0.19 0.28 0.00 99.47 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 1.03 1.21 1.63 0.54 83.63 13.96 45.00 0.02 10.37 4.34 28.61 2.79 0.60 scd0 0.00 0.00 0.01 0.00 0.08 0.00 8.00 0.00 4.97 4.97 0.00 4.97 0.00
第一行跟avg-cpu内容显示与前面的介绍一样,就不再详细说明。
rrqm/s 将读入请求合并后,每秒发送到设备的读入请求数. wrqm/s 将写入请求合并后,每秒发送到设备的写入请求数. r/s 每秒发送到设备的读入请求数. w/s 每秒发送到设备的写入请求数. rsec/s 每秒从设备读入的扇区数. wsec/s 每秒向设备写入的扇区数. rkB/s 每秒从设备读入的数据量,单位为K. wkB/s 每秒向设备写入的数据量,单位为K. avgrq-sz 发送到设备的请求的平均大小,单位是扇区. avgqu-sz 发送到设备的请求的平均队列长度. await I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒. svctm 发送到设备的I/O请求的平均执行时间.单位是毫秒. %util 在I/O请求发送到设备期间,占用CPU时间的百分比。用于显示设备的带宽利用率,当这个值接近100%时,表示设备带宽已经占满。