为什么内存越多,页面文件的大小就越大?

为什么内存越多,页面文件的大小就越大?

我想我理解页面文件的用途;如果计算机的物理内存不足,则需要页面文件来获得额外的(虚拟)内存 - 非常简单地说。

从 Windows 2000 开始,我知道最大页面文件大小应设置为 RAM 的 1.5 倍。这也是 Windows 在可以配置页面文件大小的窗口中显示/推荐的内容。因此,在具有 256 MB RAM 的计算机上,我将最大页面文件大小设置为 384 MB,在具有 1024 MB RAM 的计算机上将其设置为 1536 MB。

但是,如今,当计算机拥有 16 GB、32 GB 甚至更多的 RAM 时,为什么最大页面文件大小仍应设置为 RAM 的 1.5 倍?我之所以问这个问题,是因为无论新计算机拥有 16 GB 还是 32 GB RAM,通常都会安装相同的应用程序。那么,为什么当我拥有 32 GB RAM 时,我必须将页面文件设置为 48 GB,这会导致总可用内存为 80 GB,为什么(根据建议)当我只有 16 GB RAM 时,我只需将页面文件设置为 24 GB,这会导致总可用内存为 40 GB?这些应用程序将在两台计算机上运行,​​但在拥有 32 GB RAM 的计算机上,“浪费”的硬盘空间是只有 16 GB RAM 的计算机的两倍。

我知道互联网上有无数关于这个话题的讨论,但我找不到任何线索,为什么页面文件的大小必须随着 RAM 的大小而增长。
也许唯一的原因是,如果计算机崩溃(蓝屏),RAM 的全部内容都可以存储在页面文件中?

附言:我之所以提出这个问题,是因为我的电脑之前只有 8 GB RAM,而我又买了 24 GB RAM,现在我想知道我是否真的应该/必须将页面文件的大小从 12 GB 增加到 36 GB,目前在可以配置页面文件大小的窗口中显示/推荐的内存是多少。除非绝对必要,否则我不想在硬盘上“浪费”另外 24 GB。

答案1

理解这一点的关键是要正确理解页面文件的使用方式。不幸的是,这种理解并不常见。

页面文件通常是指硬盘中的一部分,当内存耗尽时,Windows 便会开始使用它。互联网上有许多文章都提到了这一点,微软的用户级文档也暗示了这一点。这种想法并不完全错误,但也不是很准确的描述。

操作系统设计人员假设您的 RAM 大小适合您的工作负载,而这两者之间的差异很大。小型工作负载可能是轻量级的网页浏览和电子邮件。对于这种工作负载,4 GB RAM 就足够了。但是对于专业工作站,如果要进行计算机生成的图形处理,1 TB 的 RAM 可能就太少了。您拥有的 RAM 大小应适合工作负载。

页面文件旨在提高 RAM 的使用效率,无论使用率是低还是高。它不仅仅在 RAM 用完时使用。当系统运行一段时间后,RAM 将保存大量最近未使用的数据;而且其中一些数据实际上可能在会话期间从未使用过。将高性能 RAM 用于存储静态数据是一种严重浪费。特别是当该 RAM 可用于更重要的用途(例如缓存经常访问的文件数据)时。数据不能被丢弃,因为它以后可能至关重要。

页面文件是解决此问题的方法。系统内存管理器知道哪些内存块最近被访问过,哪些没有被访问过。CPU 在这方面发挥了重要作用。最近没有被访问过的数据可能在短期内就不再需要了。如果所有旧数据都被卸载到页面文件,那么将有更多的 RAM 可用于频繁访问的数据。如果发现需要包含该旧数据的块,它将被带回 RAM。然后它是最近访问的,不再是旧数据。这允许您运行比否则可能的更大的工作负载,并且成本比添加更多 RAM 要低得多,而且性能水平几乎相同。

自 20 世纪 60 年代以来,这一概念已在大型计算机系统中使用。直到 20 世纪 90 年代,当小型系统拥有足够的资源来支持它时,它才开始应用到这些系统中。

如果您的工作负载很大,并且需要更大的 RAM 来支持它,那么您将拥有更多陈旧和过时的数据。因此,您需要更大的页面文件来卸载它。因此,有了更多的 RAM,您需要更大的页面文件来最大限度地利用它。当然,如果您的 RAM 很大,而工作负载较少,您就不需要这样的效率。

相关内容