![Vmstat 指示内存正在消失](https://linux22.com/image/805004/Vmstat%20%E6%8C%87%E7%A4%BA%E5%86%85%E5%AD%98%E6%AD%A3%E5%9C%A8%E6%B6%88%E5%A4%B1.png)
我想分析一下脚本的内存使用情况。这是运行前的输出:
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
一些不再可用的额外内存被用作缓存。我们无法仅从这些信息判断其余内存的用途,但最有可能的是内核级缓存,如文件系统元数据。因此,以前保存着可能无用的东西的内存现在保存着可能有用的信息。所以这表明情况正在好转。