指令 iostat
iostat
一般体系不会默许装置,需求装置sysstat
才干运用,在ubuntu下sudo apt install sysstat
即可。
功能
iostat
用于陈述CPU以及各个设备及分区IO的计算信息
用法
# interval表明打印的距离,count表明打印的次数,如果只要interval,则无限打印下去
iostat [option] [interval] [count]
# 每隔一秒打印一次,打印3次
# -h表明 以更容易看的方式打印,特别是屏幕宽度不够时,会自动分行打印
# -x表明打印扩展信息
iostat -xh 1 3
# 直接用,打印一次,目标较少点
iostat
以下截图运用:iostat -xh 1 1
产生
接下来一一介绍里面的各项目标含义,只要体系了解下各个目标,才干用好这个东西
上面的目标能够分为两类,榜首类就是cpu相关,即榜首行;第二类就是设备相关,即结尾是Device
的行。
CPU目标
对于多处理器体系,CPU值是一切处理器之间的大局均匀值。且以下目标加起来和为1
-
%user
: 显现在用户等级执行时出现的CPU利用率百分比(应用程序)。 -
%nice
: 显现具有用户优先级的在用户等级执行时产生的CPU利用率百分比。 -
%system
: 显现在体系等级(内核)执行时产生的CPU利用率百分比。 -
%iowait
: 显现在体系有未完结的磁盘I/O恳求期间,CPU闲暇(等待IO,不干正活)的时刻百分比,越快的CPU这个值也会越高。可是这个目标还是需求重视 -
%steal
: 显现在管理程序为另一个虚拟处理器提供服务时,一个或多个虚拟CPU在非自愿等待中花费的时刻百分比。 -
%idle
: 显现CPU闲暇且体系没有未完结的磁盘I/O恳求的时刻百分比。
设备运用目标
设备陈述提供了基于每个物理设备或分区的计算信息。 能够在指令行上输入要显现其计算信息的块设备和分区。 如果未输入设备或分区,则将显现体系运用的每个设备的计算信息,并提供内核保护的计算信息。 如果在指令行上指定了ALL关键字,则将显现体系界说的每个设备的计算信息,包含从未运用过的设备。 除非设置了环境变量POSIXLY_CORRECT(在这种情况下运用512字节的块),不然默许情况下传输速率以1K块显现。 该陈述或许会显现以下字段,具体取决于运用的标志
读目标
写和扔掉目标与读差不多,了解一个就行了。
-
r/s
:每秒设备完结的读取恳求数(兼并后)。这个大或许阐明许多随机IO -
rkB/s
:从设备中每秒读的kB数量 -
rrqm/s
: 每秒排队到设备中的兼并读取恳求的数量 -
%rrqm
: 读取恳求在发送到设备之前已兼并在一起的百分比。 -
r_await
: 宣布要服务的设备的读取恳求的均匀时刻(以毫秒为单位)。 这包含行列中的恳求所花费的时刻以及为恳求服务所花费的时刻。要点重视,对于HDD,高于20ms或许就恳求太多,导致排队了,因为正常一次寻道也就10ms。 -
rareq-sz
: 宣布给设备的读取恳求的均匀巨细(以千字节为单位)。
写目标
-
w/s
:每秒设备完结的写入恳求数(兼并后)。 -
wkB/s
:从设备中每秒写入的kB数量 -
wrqm/s
: 每秒排队到设备中的兼并写入恳求的数量 -
%wrqm
: 写入恳求在发送到设备之前已兼并在一起的百分比。 -
w_await
: 宣布要服务的设备的写入恳求的均匀时刻(以毫秒为单位)。 这包含行列中的恳求所花费的时刻以及为恳求服务所花费的时刻。要点重视,对于HDD,高于20ms或许就恳求太多,导致排队了,因为正常一次寻道也就10ms。 -
wareq-sz
: 宣布给设备的写入恳求的均匀巨细(以千字节为单位)。
扔掉目标
-
d/s
:每秒设备完结的扔掉恳求数(兼并后)。 -
dkB/s
:从设备中每秒扔掉的kB数量 -
drqm/s
: 每秒排队到设备中的兼并扔掉恳求的数量 -
%drqm
:扔掉恳求在发送到设备之前已兼并在一起的百分比。 -
d_await
: 宣布要服务的设备的扔掉恳求的均匀时刻(以毫秒为单位)。 这包含行列中的恳求所花费的时刻以及为恳求服务所花费的时刻。 -
dareq-sz
: 宣布给设备的扔掉恳求的均匀巨细(以千字节为单位)。
其它
aqu-sz
: 宣布到设备的恳求的均匀行列长度。 注意:在曾经的版别中,此字段称为avgqu-sz。这个目标高需求要点重视,或许IO太多,需求等待
%util
: 向设备宣布I/O恳求的通过时刻百分比(设备的带宽利用率)。 当串行服务恳求的设备的该值挨近100%时,将产生设备饱和。 可是对于并行处理恳求的设备(例如RAID阵列和现代SSD),此数字并不反映其性能约束。这个目标高阐明IO基本上就到瓶颈了,可是低也不一定IO就不是瓶颈。
Device
:设备名
上面各项目标基本能大致判别IO出现瓶颈,然后如果体系上没有iostat指令,又来不及装置的话,也能够通过top
指令大致判别:
如果wa
目标比较高的话,很或许CPU在等IO