- “系统监视器”告诉我,我正在使用 2.9GB 中的 1.3GB,占 42.8%
- 告诉我有 174.8M 可用“顶部”
- 告诉我总共有 3072772 个,已使用 2894424 个,免费 178348 个
3072772KB = 2.93042373657227GB“顶部”总计
3040870.4KB = 2.9GB“系统监视器”总计
**2894424**KB = 2.76033782958984GB“顶部”已使用
**1363148.8**KB = 1.3BG“系统监视器”已使用
174.8M = 0.170703125GB “顶部”可用
0178348KB = 0.170085906982422GB “顶部” 免费
Top Used 和 System Monitor 使用量之间相差 1531275.2 KB 或 1.46GB
如果我只有 0.17GB 的可用 RAM,那么就有很多 RAM 没有被考虑进去
我应该知道的某个程序是否存在问题?“root”用户是否使用了 1.5 GB 的 RAM?
答案1
系统监视器不计算当前分配给缓存的内存,而 top 则计算。 free
列出两个数字。系统监视器通常更正确,因为 Linux 会尝试使用几乎所有的可用内存来缓存磁盘文件,希望这样做能有所裨益,而未使用的可用内存是一种浪费。它会在需要时立即释放,因此在大多数情况下,可以将其视为空闲。
答案2
这只是对术语的误解。您和 Linux 都同意应用程序占用的内存是“已使用”,而未用于任何用途的内存是“空闲”的。
但是,既可用于某项用途又可供应用程序使用的内存该如何称呼呢?
您可能称之为“免费”,但 Linux 称之为“已使用”。
系统监视器会以您所称的方式告知已用内存,而 atop/top 则会以 Linux 所称的方式告知。