我在网上看到有关IOSTAT使用的冲突信息。我特别希望能够显示自启动以来的平均值。根据我已阅读的信息,如果我从未发出过IOSTAT命令,它将显示自启动以来的平均值。但是,如果我在某个时候发出了IOSTAT命令,那么下一次执行将不是自启动以来,而是自上次执行以来。
自启动以来,我如何执行IOSTAT并假设我之前已经运行过它一次。
iostat
显示自启动以来的统计信息,一次(每次运行命令,而不是每次启动)。然后,根据参数(例如iostat 2
,每两秒钟运行一次),它将显示自上次在同一命令运行时显示的统计信息:
iostat命令生成的第一个报告提供有关自系统启动以来的时间的统计信息,除非使用了-y选项(在这种情况下,将省略此第一个报告)。每个后续报告涵盖自上一个报告以来的时间。每次运行iostat命令时,都会报告所有统计信息。该报告由一个CPU标头行和随后的CPU统计信息行组成。在多处理器系统上,CPU统计信息是系统范围内所有处理器的平均值。将显示设备标题行,后跟配置的每个设备的一行统计信息。
确实iostat
只是做一些减法。簿记角色由内核完成。iostat
只是访问各种/proc
(或其他类似的条目)。其中(只需使用strace
on即可找到iostat 2
):
/proc/diskstats
/proc/uptime
/proc/stat
自启动以来是第一读。要知道自上次显示以来,iostat
便会记住(在运行时在内存中)以前的值,然后将它们减去以新读取的值:这就是该时间段内发生的情况。
要确认OP的问题:iostat
命令的每次运行都独立于命令的其他运行iostat
。它不会影响其他同时运行的iostat
命令或该iostat
命令的将来运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句