![Windows 8 物理内存使用量不统计](https://linux22.com/image/1350890/Windows%208%20%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98%E4%BD%BF%E7%94%A8%E9%87%8F%E4%B8%8D%E7%BB%9F%E8%AE%A1.png)
我有一台装有 Windows 8 的超极本。8GB 的物理内存。我在 vmware 映像中运行 Win7,该映像分配了 4GB。但是我无法将物理内存使用量的数字相加。
Win8 机器除了运行虚拟机外,没有做太多事情。Windows 本身应该有略少于 4GB 的空间可供使用。然而,任务管理器中的物理内存使用率始终保持在 75-85%(有时我会收到“内存不足”的严重警告和蓝屏)。我无法弄清楚使用了多少内存——任务管理器中的数字加起来没有那么多!(无论是提交费用还是工作集)。物理使用率怎么会高于虚拟使用率?
我已经跑了拉姆地图而且它并没有真正解释很多事情(我不知道这些数字是正常的还是表示有问题)。我不想学习 Windows 内存管理的所有细节;我只想知道为什么这台应该有足够的物理 RAM 的机器会耗尽内存。
我怀疑是缓存/缓冲区,但 CPU 使用率很低,而且在需要时这些内存不能快速释放。
答案1
物理使用率怎么会高于虚拟使用率?
在这种情况下,Windows 正确地假设使用不需要用于任何其他目的的内存是零成本的。虽然看到大量可用内存可能会让您高兴,但事实并非如此。可用内存只是被浪费的内存。
如果你在想“我现在想要很多空闲内存,以便以后使用”,那就算了吧。你现在就可以使用它和稍后再使用。您不必选择其中一个。
释放内存本质上代表着失败。系统无法找到任何与内存相关的有价值的东西,因此被迫释放内存。这纯粹是一种损失——如果内存以后没有使用,释放内存就是白费力气。如果内存以后使用,释放内存也是白费力气,因为现在它必须再次被使用(将内存直接从一种用途转换为另一种用途更有效率)。现代操作系统只有在别无选择的情况下才会释放内存。
现在,蓝屏和警告是不正常的。你应该告诉我们。