Windows 10 无法禁用所有文件到内存的缓存

Windows 10 无法禁用所有文件到内存的缓存

我正在尝试禁用 Windows 文件写入缓存。我已禁用 Sysmain 服务,禁用注册表中的预取 (EnablePrefetcher = 0),甚至尝试在设备管理器中的各个磁盘的属性中关闭磁盘写入缓存。但是,当我写入一个大文件时,我仍会看到任务管理器中的“缓存”内存增加到巨大的大小,并且我已经使用我编写的一些代码验证了它确实仍在缓存到内存中,因为它能够以远远超过磁盘能力的速度进行初始写入。

如何禁用所有“透明”写入缓存?

谢谢你的帮助。

答案1

事物并不总是像其表面所见的那样。

在 Vista 及更高版本中,任务管理器中的“缓存”值不指磁盘缓存,也不包括磁盘缓存。任务管理器中没有任何东西会显示磁盘缓存的大小。我相信系统提供的唯一实用程序是性能监视器。在典型的桌面使用中,磁盘缓存将比“缓存”值小得多。在使用频繁的服务器中,它会更大。磁盘缓存的大小和内容由系统内存管理器控制。如果它很大,那是因为它被大量使用。

“缓存”值是备用列表和已修改列表的总和。您可以在资源监视器中看到这些值。备用列表包含当前未使用的可执行文件的内存、从应用程序修剪的内存等。它可能包含从磁盘缓存修剪的数据。在大多数情况下,备用列表将构成“可用”内存的最大部分。如果需要,此内存的内容仍可供先前拥有它的应用程序使用。较大的值是一件好事。

已修改列表由从进程工作集中修剪出来的内存组成,这些内存等待写入页面文件,之后将进入待机列表。通常,它非常小。与待机列表中的内存一样,这些数据可以在需要时由应用程序回收

我不知道有什么方法可以防止写入缓存。如果您遇到问题,则需要进行调查。禁用正常系统进程通常不是解决问题的可行方法。

相关内容