检查 Linux 中可用内存的正确方法是什么

检查 Linux 中可用内存的正确方法是什么

抱歉,这个问题比较入门,但我有点困惑,所以我想让其他人帮我澄清一下

我使用freelinux中的命令来查看其中的可用内存。

一开始我认为这个值来自自由的第一行的列,所以下图中是102532,但我在其他一些地方看到说可用内存是自由的+缓冲区+缓存,所以下图中是102532 + 200904 + 5832244,也就是6135680

但当我使用free -tvmstat -s |grep memory发现可用内存仍然存在102532

现在,我很困惑,我不知道是否需要为这个 Linux 系统添加更多内存。

有人能帮我找出哪种方法是正确的方法来检查有效内存在Linux中(我们是否需要将缓冲和缓存内存视为可用内存?),对于下图中的输出,我是否需要为其添加更多内存?

提前致谢!

在此处输入图片描述

答案1

事实上,“缓存”值略低于 6GB,这意味着绝大多数内存被用来缓存数据,而不是被应用程序主动使用。

当应用程序请求内存时,应该释放缓存,并且在某种程度上可以看作是“可在需要时使用但当前正用于缓存其他数据的内存”。

缓存不是技术上免费,如空的并且可以立即使用,但它几乎一样好。

相关内容