为什么 Windows 不会缩小我的页面文件?

为什么 Windows 不会缩小我的页面文件?

根据我在网上阅读的所有文档,当我将 Windows 配置为自动管理我的页面文件时,大小应该会根据需要自动增大和缩小。虽然我的计算机确实会在需要时增加其页面文件,但它似乎不会将大小缩小。例如,现在,我的页面文件是 18432 MB,但 Windows 建议大小应为 2938 MB。为什么它不会缩小到更接近建议的大小?

我的当前页面文件设置的图片:

在此处输入图片描述

答案1

Windows 将页面文件扩展到原始大小之外的唯一原因是提交费用需要这样做。提交限制是 RAM 大小加上页面文件大小,再减去少量开销。如果页面文件大小为 18432MB(18 GB),RAM 为 16GB,则意味着截取屏幕截图时提交费用必须约为 34 GB。这非常高。如果是这样,现在您需要确定原因。这可能是由进程或分页或非分页池或其他潜在原因引起的。

当提交费用恢复正常时,页面文件将缩小(如果可能的话)。但可能不行。如果数据被写入扩展页面文件的末尾,并且未被分配内存的任何人释放,则页面文件无法缩小。Windows 不会重新排列页面文件的内容来实现这一点。这将对性能产生严重影响。

但首先要检查提交费用。如果费用很高,那么页面文件过大只是一个症状。

答案2

我可以报告,Windows 最终会在与其他贡献者所概述的类似的情况下缩小分页文件的大小。

就我而言,一个行为不当的应用程序请求了大量内存(大约 40 GB),导致页面文件大小达到约 45 GB,并迫使其他应用程序崩溃。(我的计算机配备 16 GB RAM。)我关闭了有问题的应用程序并阻止了将来的自动启动,这样一旦我意识到问题,该应用程序就永远不会运行。我定期检查(使用 Process Explorer 和命令行 pstat)提交费用和页面文件大小:它保持巨大的大小大约两周,其中包括几次重启。

今天,由于系统更新而再次重启后,页面文件大小已缩小至 12 GB。看来 Windows 会监视一段时间以查看是否再次出现这种情况,并最终缩小页面文件大小。

答案3

以下是 Microsoft 有关页面文件大小的推荐文档:https://docs.microsoft.com/en-us/windows/client-management/determine-appropriate-page-file-size

一般的经验法则是,将页面文件设置为比计算机的总 RAM 量稍大的值(有人说是 1.25 倍),同时考虑到卷大小。

主要原因是系统在发生崩溃时将使用页面文件来写入转储文件,并且如果页面文件的大小大于总内存,则可以捕获整个内存转储。

我无法解释为什么您的推荐值这么低,但我不会说有任何理由相信系统会使用推荐值,或者任何表明它不使用推荐值表明存在问题。

正如其他人所说,您可以将页面文件大小设置为 0,重新启动计算机以删除页面文件,然后将其重新设置为系统管理。

我不会按照其他人的建议手动设置它,除非你非常确定你知道自己在做什么,并且你绝对没有可用的硬盘空间。

为了进行比较,我有一台具有 64GB RAM 的计算机,其上的页面文件大于 64GB。

答案4

如果系统增大和缩小页面文件,页面文件会随着时间的推移变得越来越碎片化。我建议将页面文件设置为建议的大小并保持该大小不变。

相关内容