iowait
命令: sar -u有一个名为iowait的项目
%iowait表示一个采样周期中的百分之几的时间表示CPU空闲,并且存在尚未完成的I/O请求。
即%iowait=(CPUidletime )/(all cpu time )/(all cpu time ) )。
注意:
%iowait不表示CPU不工作的时间。
%iowait未显示I/O存在瓶颈。
因此,%iowait中包含的信息量非常少的原因是一个非常模糊的指标,从%iowait的上升情况来看,磁盘的io负载不一定过大。
http://www.Sina.com/http://www.Sina.com /
iostat
命令:
iostat -x 1 10
注:-x选项用于显示与I/o相关的扩展数据。 1表示间隔; 10表示时间
avg-CPU : % user % nice % system % iowait % steal % idle6. 250.003.650.98.0089.13 device 3360 rqm/SWR QM/Sr/srkb savgrq-szavgqu-szawaitr _ awaitw _ awaitsvctm % util vda0. 002.320.15、2.4927.0214.43、105.56、9.39和119 例如,如果统计间隔为1秒,设备以0.8秒处理IO,而设备以0.2秒空闲,则此参数指示设备繁忙,因为设备的%util=0.8/1=80%。 一般而言,如果此参数为100%,则表示设备接近满负荷运行。
可以使用iostat工具检查服务器的I/o负载情况,但不能快速确定I/o负载的来源。 那么,如何确定I/o密集型进程,甚至是负载来源文件呢?
参考: https://developer.a liyun.com/article/462565? SPM=a2c6h.14164896.0.0.27 c 36 a 28 jnwzbs http://www.Sina.com /
iotop
使用的工具:
io top :3358 GUI chaz.free.fr/io top /
安装: yum-y安装io top
命令: iotop -oP
参数:
-o,--only仅显示正在进行I/O的进程或线程。 除了传递参数外,还可以在运行时按o键启用。 -b,--batch在非交互模式下,常用于记录日志-n NUM,--iter=NUM的设置监视次数,默认值为无限。 在非交互模式下,--delay=SEC设定每次监视的间隔,默认接受1秒、以外的数据,例如1.1 -p PID、--pid=PID指定监视的进程/线程- u用户、-u USER 带宽--k,--kilobytes使用kB单位而不是对人友好的单位。 在非交互模式下,脚本编程很有用。 在-t,--time上添加时间戳,使其处于非交互式非模式。 -q,--quiet前几行禁止非交互模式。 有三种指定方法。 -qq仅在首次监视时显示列名-qq决不显示列名。 -qqq永远不显示I/O聚合。 pt-ioprofile :3358 www.percona.com/downloads/percona-toolkit/2.2.1 /