当前位置:神舟问>百科问答>什么是Superfetch服务?到底孙径裂职减应不应该禁用它?

什么是Superfetch服务?到底孙径裂职减应不应该禁用它?

2024-06-09 19:08:08 编辑:join 浏览量:536

什么是Superfetch服务?到底孙径裂职减应不应该禁用它?

SuperFetch  Vista下面的Superfetch技术,即“超级预读取”,由XP系统中的Prefetch进化而来。

  下面,先说什么是Prefetch:

  在WindowsXP操作系统中,微软对虚拟内存技术做了进一步改进,发展出了预取技术(Prefetch),预取技术的基本思路类溶紧序备以鲜是,在载入某个程序之前,预先从硬盘上中载入一部分该程序运行所需的数据到物理内存中,这样便能加快程序的启动速度。

  在WidowsXP中,使用预取技术的具体方法是:在系统和应用程序启动时,监视内存页面与交换文360问答件以及硬盘上其它文件的数据交换状况,当发生数据交换时,WindowsXP会纪录下每一个程序时财还运行时经常需要读取的硬盘文件,并将读取的情况记录在\windows\Prefetch目录中的pf后缀名文件中。

  一旦建立了这些或调pf文件,在每次需下烧控要启动系统或相应程序的时候,Windows会首先中断当前准备载入的程序,而转去查找\Windows\Prefetch目录,看是否有当前载入程序的纪录,如果有纪录,则马上按照纪录的情况载入程序运行过程中可能会用到的所需文件到物理内存中。这项任务完成之后,Wi晚必裂互杨ndows才继续载入被中断的程序。

  经过这样的处理之后,在程序运行过程中,需要读取那些文件时,由于文件已经被“预取”到内存中,此时就不用再到硬盘上进行读德项七取,因此减轻了程序载入过程中频繁交换内存页面与交换文件的现象,改善了内存不足时程序运行的响应速度。

  为了进一步优化预取操作的集愿作纸由混效率,WindowsXP还会定期对pf文件进行分析处理,组织好程序文件载入的顺序,并将这些分析处理后的信息伯载举欢现凯松模着略存放在\Windows\Prefetch目录中的***.ini文件中。同时还会通知磁盘碎片整理程序,在下次运行碎片整理时,按照***.ini文件记录的内容,将相关文件的位置整理在答太时对连续的硬盘区块中。

  这项技术从根本上说仍然属于被动式的调度。换句话说,只有在程序主动发起载入请求时,Windows才会进行相关的调度操作。

  被动式调度的存在可能对系统性能造成一些影响。我们考虑这样一个例子,假设你有在工作的午休战吃几洋少血时间运行杀毒软件的习惯,那么在下班前,一般会停止处理工作程序,然推门职罗后运行杀毒软件,此时,如果使用的是WindowsXP,那么操作系统会将工作程序所占用的内存页面写入硬盘交换文件中,并读取杀毒软件的文件载入内存。午休过后,杀毒软件已经运行完毕好,但是你在重新开始使用工作程序的时候,系统仍然需要经历杀毒能良软件和工作程序的低早缩余雨甲跑卷硬盘交换文件与族行内存页面的交换过程,此时程序的响应速度明显降低。

  如果系统能够进一步自动记录下这些经常性的操作行为所发生和结束的时间,当时运行协雷的前台和后台软件等等详细情况,那么在内存有空闲空间的时候,就可以在预定的时机预先将一部分文件载入到内存中,这样就避免了上面例子中发生的不愉快情况。

  什么是Superfetch:

  不错,这正是换袁WindowsVista中Superfetch技术所能解决的问题。由于采用了新算法,Superfetch不但继承了WindowsXP预取技术的全部优点,还进一步具备监视程序运行时状况,时间等详细情况的功能,可以根据用户的使用习惯,自动预先将存放在硬盘的交换文敬旁件转换到内存页面中去,使用户经常运行的程序启动时的速度得到进一步的加快。

  Superfetch技术的中心思想是:“过分空余的内存空间即是浪费”。的确,如果一个操作系统总是保留着过多的空余物理内存耗费电能,却不能够利用这些多余的内存空间提高系统性能的话,为什么不更好兆稿哗地利用这些多余的内存空间呢?将这些多余的物理内存作为缓存使用,就是Superfetch技术的本质。而也正是由于采用了这种以内存为缓存的策略,才造成了Vista对内存容量的饥渴!

  如果你对这项技术感到反感,或者物理内存容量实在太小,那么到管理工具—服务中关闭Superfetch服务也是一种选择。但需要注意的是,如果再次开启Supertech服务,那么由于需要经过一段监视记录用户使用习惯的过程,因此需要等待较长一段时间后,Superfetch技术才能重新为系统带来明显的提速效果。

  打开2008的Superfetch

  首先:SuperFetch的目的是提升前台进程的性能,预取前台进程的内容。而WindowsServer2008主要目的是用作服务器,几乎很少有前台进程,所以没有采用SuperFetch技术。然而可以打开:

  打开注册表编辑器找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters这个注册表项

  新建DWORD项名称为EnablePrefetcher数值为3

  新建DWORD项名称为EnableSuperfetch数值为3

  打开服务,将SuperFetch设为自动可以立刻启动成功

标签:Superfetch,孙径,职减

版权声明:文章由 神舟问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.shenzhouwen.com/answer/364446.html
热门文章