我在 Linux 主机上触发的 free 命令的输出如下:
free
total used free shared buff/cache available
Mem: 263846320 47746620 3290072 1140808 212809628 214382420
Swap: 0 0 0
我无法弄清楚这个可用部分指定了什么。 可用内存显示得非常少,即 1.24% 左右,尽管总内存非常高且已用内存仅为 18.09% 左右。
free -h
total used free shared buff/cache available
Mem: 251G 45G 3.1G 1.1G 202G 204G
Swap: 0B 0B 0B
这是否意味着由于可用内存非常少,我将无法启动更多应用程序?已用内存仅为 18%。那么释放内存不应该是 82% 而不是上面命令显示的 1.24% 吗?
我很困惑。有人可以帮忙吗?
最佳答案
现代操作系统竭尽全力保持尽可能少的可用内存。空闲的内存实际上更难使用,因为它必须从空闲转换为使用中。已经在使用的内存,即可用但不是空闲的内存,可以很容易地切换到另一个用途。
这一切都很正常。空闲内存被浪费了,不会让你的系统更快。
如果您在想“但我现在想释放我的内存,以便以后可以使用它”,请意识到这是没有意义的。您无法为以后节省内存。今天使用 2GB 的 4GB 系统明天无法使用 6GB。您现在和都可以使用您的内存。这里没有折衷——使用内存是免费。使用内存的唯一选择是浪费它。为什么您希望您的系统浪费更多内存?
关于linux - Linux 上响应 free 命令的可用内存和可用内存是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41426656/