可能重复:
free 输出中缓冲区/缓存行的含义
我在我的系统上做了 free -tm,我得到了下面的输出。
空闲缓冲区/缓存是已用内存的一部分吗?因此我们可以将其视为空闲内存吗?
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 的帖子。它将向您解释免费输出。
您是否将其视为“空闲内存”取决于“空闲内存”的真正含义。如果您的意思是由于系统无法找到任何使用它的方法而完全浪费的内存,那么您不应将其视为空闲内存。如果您的意思是在系统需要内存时可以使用的内存,那么您应该将其视为可用内存。
就个人而言,我认为应该简单地摒弃“免费内存”的概念。现代操作系统管理物理内存的方式并没有创建一个可以明智地描述为“免费”的类别。
特别是,下面的思维方式是完全错误的:“如果有可用的物理内存,那么我不需要更多的 RAM。但如果几乎所有的物理内存都在使用,那么我的系统可以从更多的 RAM 中受益。”