在Linux中的免费内存

可能重复:
缓冲区/caching线在输出中的含义是免费的

我在我的系统上做了free -tm,并且得到了下面的输出。

是使用的内存的空闲缓冲区/caching部分? 所以我们可以把它当作自由的记忆呢?

total used free shared buffers cached Mem: 5721 5689 32 0 137 4664 -/+ buffers/cache: 887 4834 Swap: 6000 13 5987 Total: 11722 5703 6019 

谢谢

在serverfault看一下这个post。 它会向你解释免费的输出。

无论你认为“自由记忆”取决于你真正意义上的“自由记忆”。 如果你的意思是由于系统无法找出任何方式使用它而完全被浪费的内存,那么你就不应该考虑它是否有空闲的内存。 如果你的意思是可用的内存,如果系统需要内存的东西,那么你应该考虑它的可用内存。

就个人而言,我认为“自由记忆”的概念应该被放逐。 现代操作系统pipe理物理内存的方式并不能创build一个明显可以被描述为“免费”的类别。

特别是,下面的思路是完全错误的:“如果有免费的物理内存,那么我不需要更多的RAM,但是如果几乎所有的物理内存都在使用,那么我的系统可以从更多的RAM中受益。