首页 > 解决方案 > 免费命令:哪一列最相关?

问题描述

我在 16G RAM 的 Debian 9 云服务器上运行程序。我担心程序可能会给内存带来压力,所以我让它在循环循环时运行“free -h”命令。当内存消耗最大时,我在程序结束时得到以下输出:

              total        used        free      shared  buff/cache   available
Mem:            15G        6.4G        155M         10M        9.1G        9.0G
Swap:          511M         20K        511M

如果您查看“免费”列,看起来只有 155M 可用,但如果您查看“可用”列,则看起来有 9G 可用。因此,根据列的不同,看起来我可用的内存很少,或者内存很多。我应该相信哪个专栏?

我曾咨询过“man free”,但我觉得它难以理解。

标签: linuxmemorydebian

解决方案


实际上,这取决于您在什么情况下谈论记忆。

如果您看到,那么空闲的内存是 155 M 。

但是服务器已为缓冲区/缓存设置了 9.1 GB 的内存,其中 9.0 GB 可用,可用于应用程序,因此其未使用/空闲

如果我们只关心系统性能,那么在发生大量交换之前,这不会降低系统性能。

但是对于需要超过 155 MB 的新应用程序安装,您会收到内存错误,因为我们只有 155 MB 可用空间。


推荐阅读