Prefetch简介
这是预读取文件夹,用来存放系统已访问过的文件的预读信息(此信息是系统在访问时自动生成的新信息),以加快文件的访问速度,其扩展名为“PF”。可以将此文件夹中的文件删除
Prefetch操作指南
同时:
Win 利用“预读取”技术,在实际用到设备驱动程序、服务和shell程序之前装入它们。预读取技术的关键是学习以前的启动过程,对于启动过程中要用到的各种文件,优化其装入模式。这种优化技术也被用到了应用软件上,系统对每一个应用软件的前几次启动情况进行分析,然后创建一个描述应用需求的虚拟“内存映像”,并把这些信息保存到WINDOWS\Prefetch文件夹。一旦建立了映像,应用软件的装入速度大大提高。prefetch 英文意思表示预取,在WINDOWS里的这个文件夹就是系统运行什么程序时预先放到这里读取!
Windows 之所以自动创建Prefetch文件夹,是为了加快系统启动的进程。Windows 将会自动记录下启动时运行的每一个程序,并根据这份资料来加快下一次启动的时间。电脑中的程序成千上万,即使出现重名的程序也不足为奇,碰到这种情况,系统将会自动在程序名的后面添加一个“后缀”,这也就是为什么有些文件名的后面会出现一连串的数字、字母和.pf的扩展名的原因.时间久了,Prefetch文件夹内自然会堆放了许多垃圾,特别是如果用户经常更换电脑配置的话,系统以前记录的进程资料就没有任何用处了。你可以将Prefetch文件夹清空,因为Windows会自动地重新创建.
XP的预读取数据保存了最近8次系统启动或应用软件启动的信息。预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件会变得很多,导致系统搜索花费的时间变长。而且有些应用程序会产生死链接文件,加重了系统搜索的负担。因此,我们应该定期删除这些预读文件。
不过,在Vista中,定期清空SuperPrefetch却并不可取。因为,和XP的Prefetch相比,Vista的SuperPrefetch更加智能。除了会自动记忆每一项运行程序外,它还会自动对启动数据进行分析。然后,根据结果,在系统空闲时,将用户稍后可能用到的程序提前读入内存,来更有效地加速程序启动。因此,一旦我们将SuperPrefetch清空,那么这些好不容易才统计出来的启动规律,也就一并消除了。因此,最好的方法还是不去管它。
另一方面,如果直接取消掉注册表中的“预读取功能”是一定会大大降低应用程序的启动速度的,当然开机速度会有一定的增加,不过这是得不偿失,因为没有了那一段必要的“系统文件预读取”,在进度条消失之后系统会从硬盘上去寻找大量的系统文件,反而影响启动速度,而且应用程序的启动速度也是一定会大大减慢的。其实比较好的优化办法是这样,找到“开机预读取”的信息,手动把不是很常用,不需要预读取的应用程序删除,尽量减少开机预读取的应用程序的数量,由此来加快启动速度!
位置在X:\windows\prefetch下(X代表系统盘符),命名是 exe文件名-16进制hash.exe
有一些实测数据,一台装了许多应用软件的电脑:
不作处理,开机29s,取消预读取,开机32s,删除prefetch文件夹下面大部分文件后,开机23s,有比较明显的开机速度提升,不过第一次运行应用程序的时候速度的确有所下降,并且prefetch文件夹下文件会自动生成,越来越多!
熟知Windows XP启动过程的用户就会知道,真正与系统启动速度关系最大的是Windows文件夹中的一个Prefetch文件夹。这是从Windows XP操作系统开始后增加的一项新功能——预读取。微软的本意是利用预读取功能来提高系统性能、加快系统启动和文件读取的速度。但如果留心观察,便会发现其中的文件会随着使用时间的增加而日益增多,而且都是一些以PF为扩展名的文件。这是因为我们每启动一个程序,Windows都会在Prefetch文件夹中留下一个索引(类似于Windows98中的Prolog文件夹),在开机时Windows XP就会将Prefetch文件夹中涉及到的常用程序读入内存(这个过程也就是启动时进度条滚动的时间段)。在这样的情况下,系统在新安装时大家或许没有感觉启动速度很慢,但是时间一长,Prefetch文件夹中生产的预读文件越多,系统启动时需要预读取的内容就愈复杂,系统启动变缓也就不足为怪了。那么能不能从Prefetch文件夹入手,来加速Windows XP的启动呢?答案是肯定的。
1.禁止索引文件的产生
上面我们说过,Prefetch文件夹中是程序启动后留下的索引文件(PF格式文件)。因此,我们只要不让系统自动生成索引文件便可以有效控制Prefetch文件夹的大小,不让其成为延缓windows XP启动的“祸害”。
单击“开始”→“运行”,输入msconfig后回车即可打开系统配置实用程序。切换至“服务”选项卡,找到“Task Scheduler”这个项目。Task Scheduler可以说是产生垃圾索引文件的“罪魁祸首”,当它在后台运行时,就会将我们硬盘中随Windows启动的每一个程序都建立一个索引文件并放入Prefetch文件夹内。只要取消对该项的勾选,我们便可以为Prefetch文件夹“瘦身”了。
2.设置预读对象
因为Prefetch文件夹中包含了所有随Windows XP启动程序的索引,所以我们可以进行一定的设置,使得系统在启动时只读取其中的一部分内容,对未指定的内容不予读取。这样也能有效地加快Windows XP的启动速度。
单击“开始”→“运行”,输入“regedit”,打开注册表编辑器,并依次展开HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters子键,双击右侧窗口中的“EnablePrefetcher”键值项,即可打开编辑窗口并对Windows XP进行预读取设置了。具体数值所对应的预读设置如下:
0——取消预读功能;
1——只预读应用程序;
2——只预读WindowsXP系统文件;
3——预读Windows XP系统文件和应用程序。
在这里我们可将该值设定为“2”,即只预读取Windows XP自身的系统文件,忽略其他应用程序产生的索引文件。
3.清空Prefetch文件夹
由于有些应用程序甚至系统文件会在Prefetch文件夹中产生死链接文件,这样就可能加重启动时系统预读取的负担。而通过笔者实践,定期删除Prefetch文件夹中的预读文件也能够有效地提高系统启动和运行速度。
第一步:建立批处理文件
新建一个记事本,在其中输入以下内容:
del %SystemRoot%\Prefetch\*.* /q,并将其保存为delpf.bat文件。
第二步:设置每次关机时执行清空操作
单击“开始”→“运行”,输入“gpedit.msc”启动组策略窗口,然后依次展开“计算机配置“→”“Windows设置”→“脚本”,双击右侧窗格中的“关机”选项,进入到关机属性对话框。点击“添加”按钮,将刚才建立的delpf.bat文件添加至关机任务中。这样,每次关机时Prefetch文件夹都会被自动清空,下次系统启动时便不需要进行预读取操作,速度当然如飞了!