linux – iostat如何计算CPU闲置时间考虑为%idle或%iowait?

我正在浏览iostat手册页.根据它,
%iowait
 Show the percentage of time that the CPU or CPUs were idle during which the system    
 had an outstanding disk I/O request.   

 %idle
 Show the percentage of time that the CPU or CPUs were idle during which the system    
 did not have an outstanding disk I/O request.

我不明白iostat如何确定I / O请求是否优秀.

解决方法

iowait基本上是发送给要服务的设备的I / O请求的平均时间(以毫秒为单位).
这包括队列中的请求所花费的时间以及为其提供服务所花费的时间.

从io调度程序的前面开始逐个测量,直到io完成.它涵盖了完成每个io所需的调度程序,驱动程序,控制器,传输(用于san)和存储所需的时间.它是存储完成的I / O请求的平均时间(以毫秒为单位),包括调度程序队列中的请求所花费的时间以及存储服务所花费的时间.

在传输IO时,存在多个阶段.应用程序发送IO后,会为其分配一个请求,当请求被授予时,内核会看到它是否可以将io合并到任何现有的请求队列.在请求队列中花费的时间会增加总服务时间.然后在合并完成后,将io提交到存储.如果存储处于压力之下或无法处理IO编号,那么我们的IO也必须等待存储服务.因此,基本上有两个等待阶段,iostat测量.

proc文件/ proc / diskstats是它为此目的引用的文件.

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型