无需重新启动即可重置 vmstat 统计信息

无需重新启动即可重置 vmstat 统计信息

运行vmstat将为您提供自上次重新启动以来的平均虚拟内存使用情况。和siso给出平均虚拟内存 I/O。例如:

root@mymachine# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0    304 300236 244940 967828    0    0     0     1    2    1  0  0 100  0  0

正如 Ijaz Khan 回答的那样,我可以知道我想跑多少次vmstat,以及之间的增量。这在某些情况下很有用(+1),但我不想继续vmstat运行。

我希望能够收集数据,然后重置计数器,以便我可以将其保留一段时间,然后回来获取从重置计数器到下次检查时的平均值 - 而不是自上次启动以来。那可能吗?

答案1

内存信息没有被平均;vmstat显示瞬时内存信息,如 中提供的/proc/meminfo。因此,您可以使用内存信息,而vmstat不必担心自上次启动以来的变化。

自启动以来累积的值涉及CPU使用率、中断和上下文切换、换入/换出和页面换入/换出;这些永远不会重置。如果您希望能够计算自己的增量,您可以/proc/stat从中读取原始值。/proc/vmstat例如,si来自、来自。pswpin/proc/vmstatbipgpgin/proc/vmstat

答案2

考虑以下输出:

$ vmstat 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0   3532 148760  50700 1397880    0    0     1     2    6    6  3  1 97  0

此数据提供自上次重新引导以来虚拟内存和系统使用情况的平均视图。通常,使用以下形式的命令:

vmstat [interval] [count]

在此示例中,第一行数据将提供自上次启动时间以来的平均值(您可以将其丢弃)。

后续报道, 直到[数数]达到(将停止 vmstat),每隔一段时间报告系统当前状态的数据[间隔]秒。

相关内容