Windows Vista SuperFetch/Prefetch技术详解


2007年3月28日 编辑:Vista之家 人气: 评论:38

什么是Vista SuperFetch技术?和prefetch有什么不同?

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

下面,Vista之家www.vista123.com)先讲下先说什么是Prefetch:

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

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


 

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


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

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

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

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

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

什么是Superfetch:

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


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

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

      
Vista之家网友 (58.22.45.*) 于 2010-8-4 18:59:40 发表下列评论:   [删除]
技术总是具有两面性,用不用只能看自己的情况了,不过还是得感谢vista之家!!!!!
Vista之家网友 (113.82.138.*) 于 2010-3-29 20:16:18 发表下列评论:   [删除]
微软的好多技术总是鸡肋式的,既是预读取,就要读取硬盘,这样会使硬盘被较频繁地访问,又不利于系统性能,特别对笔记本5400转就负担重了。是否关闭或是开启,只能仁者见仁了。
Vista之家网友 (113.110.199.*) 于 2010-1-13 11:07:02 发表下列评论:   [删除]
又学了点新知识,嘿嘿1
Vista之家网友 (222.33.152.*) 于 2009-8-17 22:24:14 发表下列评论:   [删除]
实在是看不懂!!不敢乱弄
Vista之家网友 (220.173.200.*) 于 2009-6-19 0:06:19 发表下列评论:   [删除]
最优变化,要想让自己的电脑最好状态,真不容易
Vista之家网友 (122.96.82.*) 于 2009-5-9 14:23:41 发表下列评论:   [删除]
是不是吧服务里面的superfetch这个功能让它停止工作就可以啊?
Vista之家网友 (222.179.187.*) 于 2009-4-5 16:28:28 发表下列评论:   [删除]
能将这方面的技术发送到我的邮件里面去吗?操作起来方便一点。还是有点麻烦
Vista之家网友 (122.88.27.*) 于 2009-3-27 20:35:14 发表下列评论:   [删除]
太谢谢了,用了第六步多了11G
Vista之家网友 (124.227.236.*) 于 2009-3-15 2:25:33 发表下列评论:   [删除]
管他  我6G内存  随便它弄
Vista之家网友 (60.216.205.*) 于 2008-10-14 22:17:50 发表下列评论:   [删除]
也就是说内存是减少了 会不会影响上网速度等!!!如是这样,内存是小了,可又产生了其他新的问题,我想应该权衡以后在作出决定!@!
  谢谢,谢谢老师的委婉与客气!@!
 啰嗦了!@!
发表评论(最新评论将在5分钟内出现
昵称:
内容:
(按Control+Enter直接提交)   点击一下,Vista问题有问必答

热门文章

软媒旗下软件: 魔方 | 旗鱼浏览器(极速核心) | 闪游浏览器 | 软媒时间 | 酷点桌面 | Win7优化大师 | Win8优化大师 | Vista优化大师 | Windows一键还原 | 软媒手机APP应用

软媒旗下网站 IT之家 | 辣品 | IT圈 | 6655网址之家 | Win10之家 | iPhone之家 | Win8之家 | Win7之家 | Vista之家