我想我理解页面文件的用途;如果计算机的物理内存不足,则需要页面文件来获得额外的(虚拟)内存 - 非常简单地说。
从 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 很大,而工作负载较少,您就不需要这样的效率。