Windows - 如何清除修改过的内存?

Windows - 如何清除修改过的内存?

这是我上一个问题的后续,如下:
Windows 在没有页面文件的情况下修改了内存

根据资源监视器 (Win 7 x64),我没有页面文件,但有很多修改过的内存。我最初问题的回答者说,修改过的内存必须写入“后备存储”,当我问他是否是指磁盘上的文件时,他说是的。所以我Sysinternals 的 RamMap 程序我尝试了“清空修改页面列表”选项,但没有任何变化。

现在我正在使用数 GB 的修改内存,而且似乎 VMWare Workstation(打开了多个虚拟机)和 Firefox(打开了大量选项卡)总是这样。我该如何刷新修改内存?除了启用页面文件外,还有什么方法可以让 Windows 更频繁地执行此操作?

谢谢

编辑 - 我发现修改后的几 GB 内存的来源是运行 Sysinternals 的进程监视器。当我关闭进程监视器时,我恢复了几 GB。修改后的内存未显示在 RAMMap 中的进程列表中。

答案1

Windows 无法将它们写入磁盘,因为它们仍在使用中。“释放”这些内存的唯一方法是启用页面文件,这样修改过的页面就会被写入页面文件。当再次需要它们时,它们就可以恢复到 RAM 中。

答案2

弄清楚是什么消耗了修改后的内存并不明显。我发现通过在任务管理器的进程选项卡中添加“句柄”列,我可以识别锁定修改后的内存的进程。终止该进程会使修改后的内存得到释放。

答案3

除了 @hanksterr7 所说的内容之外,您还可以右键单击该进程并选择“转到服务”,然后找到与该进程相关的服务并停止它。这帮助我防止该进程反复重新启动。(PS:所有这些内容都不在“进程”选项卡中,而是在“详细信息”选项卡中)。

(我想将其作为评论发布,但网站不允许)

相关内容