停用页面文件是否有意义

停用页面文件是否有意义

可能重复:
Windows Swap(页面文件):启用还是禁用?

我在一些新闻组条目中看到,如果一台 PC 有大量内存(8-16GB),禁用页面文件是有意义的。这是正确的吗?
我问这个问题是因为如果只有 ssd 的 PC 可以做到这一点,那么这将节省 ssd 上的一大块空间。

答案1

这是可能的,但通常最终会浪费少量的物理内存。

系统启动时,会运行许多进程来处理系统服务等事务。其中许多进程会占用内存中的脏页,在系统的整个生命周期内,它们都不会再访问这些页面。如果没有页面文件,这些页面会在系统运行的整个过程中一直保留在物理内存中。如果有页面文件,系统一旦遇到内存压力,这些页面就会被复制到页面文件中,然后物理内存就会再次释放。(系统不能直接丢弃这些页面,因为它无法证明它们永远不会被访问。)

您可以通过使用页面文件运行系统、正常使用一小时左右并查看使用了多少页面文件空间来测量这有多少内存。

如果您拥有的物理内存远远超过系统的工作集,那么这一点并不重要,您可以在没有页面文件的情况下运行。

在 UNIX 机器上,还存在其他与fork物理内存过度使用有关的问题,但它们并不适用于 Windows。

答案2

我们都看到了 MS 建议的 1:1 和 1:1.5,而当内存条现在每根售价 30 美元时,所有这些信息都相当陈旧。因此,查看此 MS 参考资料也很重要

2160852 MS 自己提到我们这里 用人类的语言来解释这个花絮。

常见的建议是将页面文件的大小设为已安装 RAM 的 1.5 倍。此建议仅适用于 RAM 较少(256 MB 或更少)的计算机。例如,如果计算机的 RAM 为 64 GB,则分配 96 GB 的页面文件通常没有多大意义。在这种 RAM 丰富的系统中,目标是通过提供足够的 RAM 使所有虚拟内存始终处于 RAM 中来完全避免使用页面文件。如果使用的虚拟内存超过已安装的 RAM 量,性能将受到影响,而拥有更大的页面文件也无助于解决这种情况。


当操作系统关闭页面文件时,有些程序会失败,错误信息中会显示最愚蠢的文本。还有至少一个游戏在没有页面时会失败。所以我总是:

  • A)有足够的内存来完成我正在做的任务,或者关闭了一些程序

  • B) 避免使用编写得非常差的程序,这些程序不遵循微软关于正确动态分配的建议,只是试图吞噬整个 wad :-)

  • C)保留足够的分页以保证系统正常运行,这将涵盖任何正常的过度分配,并且在实际用尽 A 的情况下

最低限度:保留一个 512M 的页面文件不会杀死任何人,这比关闭它并且不知道为什么某些程序失败要好得多。

如果您需要完整的内存转储,那么您仍然需要完整的分页大小,任何能够完成 16gig 内存转储的人都是天才,所以我将把这留给他们来决定。

相关内容