IOSTAT
NAME:
Iostat, 报告CPU的统计,和 I/O的统计。
语法:
iostat
[ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t] [ -V ] [ -x ] [ -y ]
[ -z ] [ -j { ID | LABEL | PATH |UUID | ... } [
device [...] | ALL ] ] [ device [...] | ALL] [ -p [ device [,...] | ALL ]
] [ interval [ count ] ]
选项:
-c 只显示CPU使用报表
-d 只显示设备使用报表
-N 显示注册的 device
mapped名称。
-n 显示网络文件系统( NFS)报告
-h 让NFS报告人家容易读(试了一下加不加 -h没啥区别)
-j{
ID | LABEL | PATH | UUID | ... } [ device [...] |
ALL]
指定persistent
device names类型,可以指定设备后者所有设备
-k 以KB为单位显示每秒写入读取量
-m 以MB为单位显示每秒写入读取量
-p 使用-p 选项输入设备名,报告设备和设备的分区。 ALL表示系统定义所有的设备和分区。如果 -j使用在这个参数前,那么 device会使用指定的persistent
name类型( If
option -j is defined before this option, devices entered on the command
line can be specified with the chosen persistent name
type.)。
-t 打印每个报表生成的时间
-V 打印工具版本
-y 忽略首次报告,统计间隔时间内的数据
-z 忽略在采样期间不活跃的 device
说明:
通过interval 来指定间隔时间,听过 count来指定间隔时间内发生的次数,如果没有指定 count那么就认为是无数次。默认 iostat的首次报告是启动到现在的一个平均值,除非指定了 -y,第一次报表被抛弃。接下来的报告是上次报告到现在时间间隔内的计数。
报告:
报告有3中: CPU,设备,NFS
CPU: CPU报表是一个总值,多CPU也只会返回一条。
%user 用户级别的使用比例
%nice 花费在nice有限级别的 cpu比例
%system 系统级别的使用比例
%iowait CPU 空闲,而系统在请求设备的时间
%steal 当hypervisor 为另外一个虚拟处理器提供服务的时候,无意识的等待虚拟 CPU或者CPU 的比率
%idel CPU空闲比率
Device: 报告是基于物理设备或者分区的。如果不写明 device或者分区会报告所有使的到的分区,如果写了关键字 ALL就会报告所有定义过的
tps:
每秒钟的传输,传输是到设备的 IO请求,多个逻辑请求可以组合成一个传输,传输的大小不确定
Blk_read/s(rsec/s):
每秒钟读取的块( 2.4之后块和扇区一样大),扇区大小为 512B
Blk_wrtn/s(wsec/s):
每秒钟写入的块( 2.4之后块和扇区一样大),扇区大小 512B
Blk_read:
总read次数
Blk_wrtn:
总写入次数
kB_read/s(mB_read/s,rkb/s,rMb/s):
每秒读取字节数
kB_wrtn/s(mB_wrtn/s,wkb,wmb/s):
每秒写入字节数
kB_read(mB_read):
总读取字节数
kB_wrtn(mB_wrtn):
总写入字节数
rrqm/s:
每秒读队列长度
wrqm/s:
每秒写队列长度
r/s:
每秒请求到设备的读次数
w/s:
每秒请求到设备的写次数
avgrq-sz:
平均请求扇区数
avgqu-sz:
平均请求队列长度
await:
从请求发送到被处理所用的时间,包含在队列中的时间
Svctm :
Man 中说这个值不靠谱,不再解释
%util:
当被请求到设备的时候 cpu使用率,如果设备饱和,这个值接近 100%
NFS :不是这次的重点不扯