1. 简介
iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。
2. 命令格式
iostat 参数 时间 次数
3. 命令参数
-c 只显示cpu相关统计信息(默认是同时显示cpu和磁盘信息)。
-d 只显示磁盘统计信息(默认是同时显示cpu和磁盘信息)。
-h 使用NFS的输出报告更加友好可读。
-k 默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以kb作为计量单位显示。
-m 默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以mb作为计量单位显示。
-N 显示磁盘阵列(LVM) 信息。
-n 显示NFS相关统计数据(network fileSystem)。
-p [ { device [,…] | ALL } ] 显示磁盘分区的相关统计信息。
-t 显示终端和CPU的信息,每次输出报告时显示系统时间。
-V 显示当前iostat的版本信息。
-x 显示更详细的磁盘报告信息,默认只显示六列,加上该参数后会显示更详细的信息。
-y 跳过不显示第一次报告的数据。
-z 只显示在采样周期内有活动的磁盘。
4. 常用命令
4.1 iostat -d -k 1 10
含义:每s刷新一次,共刷新10次,-K表示单位为kb,-d表示只统计磁盘信息
属性说明:
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:读取的总数据量;
kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。
4.2 iostat -d -x 1 10
属性说明:
rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
r/s: 每秒完成的读 I/O 设备次数。即 rio/s
w/s: 每秒完成的写 I/O 设备次数。即 wio/s
rsec/s: 每秒读扇区数。即 rsect/s
wsec/s: 每秒写扇区数。即 wsect/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
avgqu-sz: 平均I/O队列长度。
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比