Microsoft Windows 10 会过量使用内存吗?

avl*_*den 4 windows virtual-memory

Linux OS:es 通常允许过度使用内存。例如一个进程可以分配 100GB 的内存,即使机器只有 8GB 的​​物理内存并且没有交换。

只要没有实际使用所有分配的内存,该过程就会工作。如果程序试图全部使用它,OOM-killer 将杀死进程以释放内存。

这在 Windows 中是如何工作的?Windows 是否会拒绝为进程提供虚拟内存,除非它可以保证该内存可以由实际内存(物理 RAM 或交换)支持?

avl*_*den 6

回答我自己的问题,其他人没有。

Windows 似乎不会过度使用内存。与Linux相比,这实际上是一个很大的不同。

Windows 将允许程序分配比机器上的 RAM 更多的(虚拟)内存,但前提是有足够的可用磁盘空间能够在必要时支持程序通过磁盘请求的虚拟内存。

  • 对,就是这样。Windows“提交限制”只是 RAM 大小 + 当前页面文件大小。Windows 不会让应用程序 + 操作系统提交更多。如果启用了页面文件扩展并且提交尝试将使您超过当前限制(但小于页面文件扩展的限制所允许的),则页面文件将自动扩展以允许请求。 (4认同)