在禁用页面文件并分配 4GB 内存的情况下,Windows 6.2(具有桌面体验的 8 和 Server 2012)启动时仅使用不到 1GB。随着应用程序的加载,内存使用量达到 3GB,此时 Windows 开始陷入困境;使用更多的内存会导致屏幕上的 Windows 元素出现故障并消失。在使用量介于 3GB 和 3.5GB 之间时,explorer.exe 将崩溃,或者 Windows 会将用户转到登录屏幕,或者桌面渲染将完全崩溃(但右侧超级按钮栏仍可工作……显然,MS 的优先级没有按顺序排列)。
为什么用户不能将剩余的 3GB 内存全部用于应用程序,否则会导致 Windows 崩溃?
与 6.1 相比,Windows 6.2 中没有新增的有用功能,人们认为启动时需要更多内存,那么为什么空闲内存使用量从 0.5GB 增加到 1GB?即使在 HV 中安装 Windows 6.2 也需要 1024MB 的最低启动内存,而 6.1 只需要 512MB。
答案1
为什么用户不能将剩余的 3GB 内存全部用于应用程序,否则会导致 Windows 崩溃?
如果没有页面文件,Windows 就必须保留足够的内存来支持它所做的每一次分配。因此,即使有足够的可用内存,这些内存的使用也会受到限制。这就是您需要页面文件的原因。
这个问题基本上与“为什么我不能开支票,即使我的账户里有很多钱”。这是因为你需要在你的账户里留出足够的钱来支付你曾经开出的每一张支票,即使其中一些支票非常多,非常不太可能被兑现。
现代操作系统如果没有后备存储就无法有效利用内存。在 Windows 中,后备存储就是页面文件。
与 6.1 相比,Windows 6.2 中没有新增的有用功能,人们认为启动时需要更多内存,那么为什么空闲内存使用量从 0.5GB 增加到 1GB?即使在 HV 中安装 Windows 6.2 也需要 1024MB 的最低启动内存,而 6.1 只需要 512MB。
它没有要求该内存。它只是使用它,因为您无法保存内存以供以后使用。使用您拥有的内存绝对没有任何坏处,因此现代操作系统(包括 Windows)在没有内存压力时不会努力释放 RAM。
例如,假设一个程序运行然后终止。你不需要需要将该程序保留在 RAM 中,但如果您有 RAM,为什么不呢?如果程序再次运行,它将减少磁盘 I/O。如果您需要 RAM 用于其他用途,您可以随时稍后将 RAM 切换到其他用途。当您有大量可用内存时,现在释放 RAM 有什么好处?