抱歉,这个问题比较入门,但我有点困惑,所以我想让其他人帮我澄清一下
我使用free
linux中的命令来查看其中的可用内存。
一开始我认为这个值来自自由的第一行的列,所以下图中是102532,但我在其他一些地方看到说可用内存是自由的+缓冲区+缓存,所以下图中是102532 + 200904 + 5832244,也就是6135680。
但当我使用free -t
或vmstat -s |grep memory
发现可用内存仍然存在102532
现在,我很困惑,我不知道是否需要为这个 Linux 系统添加更多内存。
有人能帮我找出哪种方法是正确的方法来检查有效内存在Linux中(我们是否需要将缓冲和缓存内存视为可用内存?),对于下图中的输出,我是否需要为其添加更多内存?
提前致谢!
答案1
事实上,“缓存”值略低于 6GB,这意味着绝大多数内存被用来缓存数据,而不是被应用程序主动使用。
当应用程序请求内存时,应该释放缓存,并且在某种程度上可以看作是“可在需要时使用但当前正用于缓存其他数据的内存”。
缓存不是技术上免费,如空的并且可以立即使用,但它几乎一样好。