强制 Windows 7 从内存中卸载项目(不是 Superfetch)

强制 Windows 7 从内存中卸载项目(不是 Superfetch)

问题是如何强制 Windows 7消除当不再使用的项目时,我会从 RAM 中删除它们。

因为这个问题遭到了 100% 的抵制,所以我要澄清这一点一次...

这个问题不是相反,不是为什么我应该购买更多内存,不是为什么我应该用页面文件来毁掉我的固态硬盘,因为现在不是 1985 年,16K 也不需要花费 5000 美元,而是不是为什么我应该把那些明显没有被使用的文件留在内存中,这是不是任何形式的辩论。解决了这个问题,接下来就是进行有效的计算……

我刚刚开始玩《上古卷轴 Online》,内存为 8GB,禁用了页面文件和 Superfetch,所以 ESO 的 2GB 和 Firefox 的 1GB 应该不会意味着我的内存用完了。Windows 7非常尽管我已经明确地禁用 Superfetch 服务。

例如:使用 RamMap 我发现在清除所有内存之后,仍有 111 兆字节正在被我三天前晚餐时观看的电影文件使用...不是为什么而是怎么做我该如何防止 Windows 像这样盲目地浪费 RAM?

换句话说,当使用文件的程序本身已关闭时,我如何强制 Windows 从 RAM 中卸载文件?请仅在您不打算偏离我非常明确定义的问题时才回答。当我有足够的 RAM 时,Windows 会抱怨我的 RAM 不足,这完全是浪费,这是它自己的问题。

答案1

您正在使用“不受支持”的1 个Windows 配置,我认为没有任何内置内容可以暴露给用户级别以刷新文件缓存。

我认为您唯一的选择是编写一个自定义程序2 ,该程序可以更直接地访问 Windows 缓存管理器并能够刷新这些缓冲区。您可能需要使用未记录的 API 调用,因此无法保证您的程序不会在 Windows 更新3中中断。

如果我要这样做,我会从这本书开始“Windows 内部原理“作者 Mark Russinovich 4并阅读第 11 章“缓存管理器”以了解 Windows 正在进行哪些内部 API 调用。


1. 并不是说​​你不能使用它,它只是 Windows 本身,为 Windows 编写的程序不会以你的配置作为限制。2
. 或者找到一个已经写好的程序。3
. 它不太可能崩溃,它更有可能在主要的 Windows 版本中崩溃,但 Windows 更新也有可能崩溃。4.
制作 RamMap 的同一个人

答案2

尝试拉姆地图- 清空待机列表

RamMap-空待机列表

答案3

您可能不喜欢这个答案,但是...创建一个小页面文件。将它放在哪里都没关系(虽然 SSD 是最好的,而且不会很快损坏您的 SSD),因为有了那么多 RAM,它不会被使用那么多(如果一切正常,您肯定不会注意到任何事情),但它应该可以解决您的问题。

如果这不起作用,则说明您的设置有问题。在拥有 8GB RAM 和大量后台应用程序的情况下,以及全天候运行的计算机的情况下,我从未遇到过 ESO 的“内存不足”问题(或其他任何问题,但我当然有一个页面文件)

答案4

我在 VMware vSphere 环境中遇到了同样的问题,其中 RAM 较少(1GB)的 Windows VM 会将相对较多的内存用于缓存,这会触发 vCenter 中的 VM 内存使用警报。以下工具可以包含在计划任务中,以定期清空待机列表等。

https://wj32.org/wp/software/empty-standby-list/

相关内容