如果没有页面文件,Windows 10 是否会使用内存压缩?

Pat*_*ick 5 memory-management windows-10

我正在研究 Windows 10 内存压缩的使用,以确定“交换”内存的最佳方法。

一方面,我可以将一切都留给 Windows,依靠页面文件和压缩内存,但这意味着我无法控制确切换出的内容和时间。

另一方面,我可以在没有页面文件的情况下运行系统,并通过更快地持久保存对数据库的临时更改来减少内存使用量。然后我可以更好地控制哪些内容需要保留,哪些内容需要从内存中删除。

在后一种情况下,我仍然可以从内存压缩中受益,前提是即使没有页面文件也使用内存压缩。如果是这种情况,那么内存压缩将允许我的进程使用比物理可用内存更多的内存(当然是在短时间内)。

那么问题来了:如果系统没有页面文件,Windows 10是否会使用内存压缩?

gue*_*314 8

需要启用页面文件才能启用内存压缩。我刚刚在 Windows 10 版本 1809 上验证了它。

我通常在关闭页面文件的情况下运行该系统,尽管在 MMAgent 中启用了内存压缩,但检查 SysMain 服务是否正在运行,并且在注册表中启用了所有预取和 Readyboost 设置,任务管理器总是显示“未启用内存压缩”并且我从未在任务管理器的内存选项卡中看到“(压缩)”内存统计数据超过 0 MB。

设置 16 MB(允许的最小大小)的分页文件后,“任务管理器”选项卡中的工具提示现在会显示预期的“压缩内存存储估计...数据...”消息。

我尚未验证的是分页文件的大小如何影响最大允许的压缩内存量。

另一个相关说明:可以使用 regedit 禁用 Prefetch 和 ReadyBoost。它们不影响内存压缩的操作。但是,必须启用“SysMain”服务(在旧版 Windows 版本中被称为“readyboost”,令人困惑),否则将无法启用内存压缩。