Vmstat 指示内存正在消失

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  15624 186660  39460 439052    0    0     0     2    1    1  0  0 100  0

这是脚本运行时的输出,此时可用内存处于最低值:

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0  15624  11464  40312 473524    0    0     0     2    1    1  0  0 100  0

因此,可用内存减少了约 175 MB,我预计 buff 会增加那么多。但似乎其他列的变化量相对可以忽略不计 - 这怎么可能?是我理解错了,还是有些内存没有被考虑在这个输出中?

答案1

一些不再可用的额外内存被用作缓存。我们无法仅从这些信息判断其余内存的用途,但最有可能的是内核级缓存,如文件系统元数据。因此,以前保存着可能无用的东西的内存现在保存着可能有用的信息。所以这表明情况正在好转。

相关内容