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文件夹下文件会自动生成,越来越多!
熟知WindowsXP启动过程的用户就会知道,真正与系统启动速度关系最大的是Windows文件夹中的一个Prefetch文件夹。这是从WindowsXP操作系统开始后增加的一项新功能——预读取。微软的本意是利用预读取功能来提高系统性能、加快系统启动和文件读取的速度。但如果留心观察,便会发现其中的文件会随着使用时间的增加而日益增多,而且都是一些以PF为扩展名的文件。这是因为我们每启动一个程序,Windows都会在Prefetch文件夹中留下一个索引(类似于Windows98中的Prolog文件夹),在开机时WindowsXP就会将Prefetch文件夹中涉及到的常用程序读入内存(这个过程也就是启动时进度条滚动的时间段)。在这样的情况下,系统在新安装时大家或许没有感觉启动速度很慢,但是时间一长,Prefetch文件夹中生产的预读文件越多,系统启动时需要预读取的内容就愈复杂,系统启动变缓也就不足为怪了。那么能不能从Prefetch文件夹入手,来加速WindowsXP的启动呢?答案是肯定的。
1.禁止索引文件的产生
上面我们说过,Prefetch文件夹中是程序启动后留下的索引文件(PF格式文件)。因此,我们只要不让系统自动生成索引文件便可以有效控制Prefetch文件夹的大小,不让其成为延缓windowsXP启动的祸害。
单击开始→运行,输入msconfig后回车即可打开系统配置实用程序。切换至服务选项卡,找到TaskScheduler这个项目。TaskScheduler可以说是产生垃圾索引文件的罪魁祸首,当它在后台运行时,就会将我们硬盘中随Windows启动的每一个程序都建立一个索引文件并放入Prefetch文件夹内。只要取消对该项的勾选,我们便可以为Prefetch文件夹瘦身了。
2.设置预读对象
因为Prefetch文件夹中包含了所有随WindowsXP启动程序的索引,所以我们可以进行一定的设置,使得系统在启动时只读取其中的一部分内容,对未指定的内容不予读取。这样也能有效地加快WindowsXP的启动速度。
单击开始→运行,输入regedit,打开注册表编辑器,并依次展开HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters子键,双击右侧窗口中的EnablePrefetcher键值项,即可打开编辑窗口并对WindowsXP进行预读取设置了。具体数值所对应的预读设置如下:
0——取消预读功能;
1——只预读应用程序;
2——只预读WindowsXP系统文件;
3——预读WindowsXP系统文件和应用程序。
在这里我们可将该值设定为2,即只预读取WindowsXP自身的系统文件,忽略其他应用程序产生的索引文件。
3.清空Prefetch文件夹
由于有些应用程序甚至系统文件会在Prefetch文件夹中产生死链接文件,这样就可能加重启动时系统预读取的负担。而通过笔者实践,定期删除Prefetch文件夹中的预读文件也能够有效地提高系统启动和运行速度。
第一步:建立批处理文件
新建一个记事本,在其中输入以下内容:
del%SystemRoot%\Prefetch\*.*/q,并将其保存为delpf.bat文件。
第二步:设置每次关机时执行清空操作
单击开始→运行,输入gpedit.msc启动组策略窗口,然后依次展开计算机配置→Windows设置→脚本,双击右侧窗格中的关机选项,进入到关机属性对话框。点击添加按钮,将刚才建立的delpf.bat文件添加至关机任务中。这样,每次关机时Prefetch文件夹都会被自动清空,下次系统启动时便不需要进行预读取操作,速度当然如飞了!