关于 Debian 7 内存使用情况的矛盾信息

关于 Debian 7 内存使用情况的矛盾信息

大约一年前,我将笔记本电脑升级为 8 GB 内存。我使用的是 Windows 8 和 4 GB,根据任务管理器显示,这在所有情况下都不够用。升级后不久,我切换到 Debian 7 作为我的主要操作系统。查看 Debian 上的系统信息程序中的内存使用情况时,我总是想知道系统如何在仅使用半 GB 或最多 1 GB 的内存的情况下打开许多应用程序并连续工作数小时。当我运行命令时,我感到很困惑free。它报告的内存使用量比系统信息多得多。目前,系统信息报告使用了 582 MB RAM 和 0 MB 交换空间,而运行时free -g报告使用了 2 GB:

$ free -g
             total       used       free     shared    buffers     cached
Mem:             7          2          5          0          0          1
-/+ buffers/cache:          0          7
Swap:           14          0         14

为什么这两个报告的内存使用量不同?另一件让我感到困扰的事情是,即使在使用 VMware 运行虚拟 Linux 计算机时,我也几乎从未使用过 4 GB 的 RAM。有没有办法告诉系统使用更多内存并以某种方式提高性能?

答案1

这两个工具只是对内存“使用”的定义不同。free如果内存不是空闲的,该命令会认为内存已使用。系统信息会认为内存空闲,即使它包含可以使用的信息,只要这些信息也可以丢弃。因此,例如,包含也可以从磁盘读取的信息的内存在 free 命令中被视为已使用,但在系统信息中则被视为空闲。

系统将使用尽可能多的内存来提高性能。如果没有切实可行的方法保存有用的信息,则保持内存空闲是系统的最后手段。

相关内容