什么是Windows预取和Superfetch?


预取是Windows XP中引入的一项功能,在Windows 10中仍然使用,它存储有关您运行的应用程序的特定数据,以帮助它们更快地启动。预取是一种有助于预测缓存未命中的算法(Windows请求未存储在磁盘缓存中的数据的时间),并将该数据存储在硬盘上以便于检索。

Superfetch是一项功能,尝试确定要启动的应用程序,然后将所有必需的文件和数据加载到内存中。这两个功能都需要相当多的读写操作才能工作。

这个数据位于C:\ Windows \ Prefetch中,并且,根据理论,定期清除此数据文件夹(例如,每月一次)将提高性能。预取文件是Prefetch目录中具有“PF”扩展名的文件:

随着新应用程序的启动,将创建新的预取数据,这可能意味着首先会略微降低性能。但是,随着旧条目的消失,要解析的数据将会减少,Windows应该能够更快地找到所需的数据。您可能看到的任何性能提升都很小(如果您看到任何性能),但那些希望从计算机中挤出每个CPU周期的用户都希望尝试这个。

请注意删除Prefetch数据可能会略微增加启动时间,但只会在下次启动Windows时启动。每次后续启动都应该正常进行,因为Windows启动的程序已经存在预取数据。

Prefetcher配置存储在Windows注册表中的以下位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.

EnablePrefetcher值可以设置为以下值之一:

  • 0=已禁用
  • 1=已启用应用程序启动预取
  • 2=已启用启动预取
  • 3 =启用启动和启动(最佳和默认)
  • 您应禁用预取和超级提取吗?

    将默认值更改为3以外的任何值以加快性能是众所周知的神话。如果您发现由“优化程序”软件导致的性能问题将此注册表值更改为3以外的其他值,请将其更改回来。

    此规则有一个例外,即如果您使用的是计算机上的SSD驱动器。如果您有传统的硬盘驱动器,请确保使用值3保持预取器。但是,如果您有SSD驱动器,由于不必要的写入操作,性能提升的好处会丢失。使用固态硬盘驱动器,额外的写入操作会更快地磨损驱动器。此外,由于SSD速度如此之快,应用程序加载速度同样快,无需预取和超级提取。

    要禁用预取,只需将该注册表值更改为0.要禁用superfetch,必须单击start并键入的SERVICES.MSC即可。向下滚动,直到看到Superfetch并双击它。默认情况下,Windows 7/8/10应该在检测到SSD驱动器时自动禁用预取和超级提取,但在我的Windows 10 PC上却不是这样。

    如果状态正在运行,请点击停止按钮然后将启动类型更改为已禁用。同样,您实际上只需要为具有固态硬盘驱动器的计算机禁用预取和超级提取。对于普通的硬盘驱动器,它们实际上可以帮助提高性能。如果您有任何疑问,请随时发表评论。享受!

    如何解決吃掉所有CPU資源的 svchost.exe (netsvcs) Win10

    相关文章:


    3.11.2017