预取(自Windows Vista以来称为Superfetch)是Microsoft Windows中的技术,可以通过预测用户可能启动的应用程序并抢先将必要的数据加载到内存中,从而显着提高系统的可响应性。 尽管对于确保使用传统硬盘驱动器的系统中的流畅用户体验至关重要,但由于SSD固有的性能优势,某些具有固态驱动器的系统可能看不到太多好处,并且从长远来看,预取/超取服务实际上可能对SSD有害。由于它们产生不必要的写入。
在Windows 7中,Microsoft尝试通过在检测到快速SSD时自动禁用Superfetch和Prefetch来解决此问题。 但是,在Windows 8中,操作系统尝试分析系统存储的性能特征,并根据需要智能地启用或禁用Superfetch / Prefetch。
尽管大多数用户可以让Windows自行决定如何使用Superfetch和Prefetch,但在某些情况下Windows可能会做出错误的决定,而高级用户将希望手动禁用或启用服务。 这种情况最常见于非标准配置,例如HDD的快速RAID阵列,或SSD和HDD的混合使用。
手动禁用超级读取
要在Windows 8中手动禁用Superfetch,请通过右键单击“桌面开始”按钮,选择“运行” ,然后键入services.msc来启动Windows服务管理器。 或者,您可以从“开始”屏幕中搜索services.msc 。
在服务管理器中,向下滚动以找到Superfetch ,它由Windows服务SysMain控制 。 双击Superfetch以启动其Properties窗口,然后单击Stop停止它。
这将暂时终止该服务,但是除非我们告知您不这样做,否则它将在下次启动时自动重新启动。 在“启动类型”下拉菜单下,选择禁用 。 单击“ 应用” ,然后单击“确定”保存更改。 关闭服务管理器,然后重新启动以使更改生效。
手动禁用预取
禁用Superfetch后,可以从Windows注册表禁用Prefetch。 通过右键单击桌面“开始”按钮,选择“运行” ,然后键入regedit来启动注册表编辑器。 和以前一样,您也可以通过在“开始”屏幕上搜索regedit来启动注册表编辑器。
在注册表编辑器中,导航到以下位置:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager内存管理预取参数
在窗口的右侧,双击EnablePrefetcher 。 您可以通过在“ 数值数据”框中输入相应的数字,以四种方式之一配置“预取”:0 –禁用预取器
1 –仅对应用程序启用预取
2 –仅对引导文件启用预取
3 –为引导和应用程序文件启用预取
默认值为3 ; 将其设置为0将禁用预取。
如前所述,大多数用户不需要调整“预取/超取”设置,并且设置不正确的值会显着增加启动和应用程序启动时间。 但是具有非标准驱动器配置的高级用户或在虚拟机中运行Windows的高级用户可能希望对这些重要服务进行手动控制。