控制面板\系统和安全\管理工具
服务Superfetch属性停止禁用运行“regedit”后打开注册表编辑器打开注册表到以
下键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management\PrefetchParameters
EnableSuperfetch 和EnablePrefetcher 都更改为0即可(也可以为2,只预读Windows系统文件,须开服务Superfetch)
设置为"0",不使用预读功能;
设置为"1",系统将只预读应用程序;
设置为"2",系统将只预读Windows系统文件;
设置为"3",系统将预读Windows系统文件和应用程序(默认值)。
预读技术是微软vista和windows7默认开启的程序,原意是增加程序运行和开机速度,
但事与愿违,该技术已经变成与UAC几乎一样的垃圾,普通用户建议关闭,原因有:
1、程序本身额外增加系统负担,启用就多运行至少一个进程
2、在C:\windows\prefech\下面保存大量小文件,很容易产生磁盘碎片,也占用系统
盘空间
3、Prefecher技术于开机后不久大量读取硬盘数据到可用物理内存,有时候多大2-3G
甚至更多,造成磁盘频繁读写,增加磁盘负担,缩短磁盘寿命(相对于固态硬盘来说就更是有百害而无一利)
4、如果物理内存并不特别充裕(目前的话,2G以下内存是大多数人的配置,但不能说很
充裕的,4G以上可以说相对充裕),一旦运行大型程序或游戏,需要大量物理内存,那么
刚刚预读的内容将被迫清除,留给正在运行的程序使用,白白浪费预读的程序
5、如果硬盘速度一般,如5400转的笔记本硬盘,此技术会超过磁盘负担,直接导致系
统性能下降
6、如果内存不是足够大,比如1G及以下,特别是还在用虚拟内存的用户,就更是拖累了;虚拟内存要读写硬盘,预读技术也要读写硬盘,运行程序还要读写硬盘,以目前硬盘的速
度根本应付不了这么多的负荷,系统速度慢就是必然的
7、Superfetch技术为相对固定使用的程序预先读入数据和程序代码,但是我们普通用
户那会天天相对准时的开机、并相对准时的运行某些程序呢,大多数都是想要什么,就开
什么程序,很乱的,这个技术根本起不到用处,而且你的电脑也不可能长时间开机,不用就关掉的,此技术几乎没用武之地
别忘记关闭服务后,C:\windows\prefech\下面的文件全部删除
其实windows早就有了另一套内存缓存技术来解决程序运行慢的问题,该技术也尽量减
少磁盘读写,延长磁盘寿命,98、xp就一直使用的,只是很多人都不知道
磁盘缓存分为读缓存和写缓存
读缓存是指,操作系统为已读取的文件数据,在内存较空闲的情况下留在内存空间中(这个内存空间被称之为"内存池"),当下次软件或用户再次读取同一文件时就不必重新从磁盘上读取,从而提高速度
写缓存实际上就是将要写入磁盘的数据先保存于系统为写缓存分配的内存空间中,当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏,也能减少写入所需的时间
虚拟内存是用硬盘空间做内存来弥补计算机RAM空间的缺乏当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的
看到了吧,就是这么简单,把读写磁盘的数据同时放到空闲的内存中,需要是直接从内存调数据,而不是先从磁盘调数据,所以我们总感觉第一次启动程序要慢,而第二次就快多了;而根据我使用内存虚拟盘的经验,目前DDR800内存的实际读写速度大约是SATA2硬盘的2倍,碎片文件还要更快一点
由于网上资料很少,个人推测,windows任务管理器,性能选项卡,物理内存信息中的"已缓存"基本就是磁盘读写数据的数量,而预读技术大量读写盘也可以从这里直接看到,开机后几分钟已缓存大量增加,就是预读技术在后台不停的读盘
你可以用这个简单的方法测试,随便选个影视文件,比如大小是500M,随便复制一下,你会发现,已缓存增加了大约1G,因为读和写都是500M(500*2)
结论是大内存还是有用的,别看windowsxp启动后内存占用只有不到
200M,windows7 32bit只有500M多,windows7 64bit 800M,同样加4G或者更高内存也是不算浪费的,临时保存硬盘读写数据也是好的,系统速度更快,硬盘寿命更长. ------------------------------ 和我想的一样。这东东适合办公电脑,因为办公电脑基本上运行的软件比较固定。个人电脑还是不要浪费内存去搞这东东了,除非你只玩WOW。
=======================================
在理解为什么superfetch会影响到系统启动速度的时候,我们需要先讲解几个技术,以充分了解它们的原理。
虚拟内存包括Vista在内的Windows操作系统都一直在利用虚拟内存,它的
作用在于,当物理内存不能满足应用需要的时候,操作系统将开始把应用程序在内存中的部分数据,存储到硬盘,从而释放RAM以备他用。这些被存储到硬盘的数据,以文件的
形式存放,通常在根分区,名为Pagefile.sys的隐藏文件。
当需要调用这些数据的时候,操作系统查pagefile中的数据,并将之返回到
内存。在这过程中,由于需要反复的磁盘读写,所以可能导致应用程序反应很慢。
预读Prefetch 于是到了Windows xp,操作系统的设计人员就设计出一种成为预读Prefetch的技术,这种技术在系统或者应用程序启动过程中,监视数据在磁盘和内
存之间的移动规律或者状况,预先把那些读写频率较高的数据,保存到
%systemroot%\Prefetc件夹扩展名为.pf的文件中,并一种规则高效的方式存放这些文件。这样,当这些数据被重复读取的时候,就可以直接从这些缓存文件中读取,而不用重新读取硬盘扇区、磁道,寻数据的原始位置,自然也就加速了应用程序的响应速度。但这种技术主要的缓存方式仍然是基于磁盘的。
快速预读Superfetch 到了Windows Vista,因为计算机的内存已经日益增大,设计人员开始考虑使用内存作为预读快取的数据存放空间。但出于两方面的原因,一内存是不可记忆的,一旦断电所有数据都将丢失;二内存并没大到可以容纳所有应用程序的程度,故而Superfetch的读写操作虽然主要是基于内存,但是将数据写入内存的同时,仍然会写入硬盘,以用于数据交换。这些数据以文件形式存在,通常它们的存放位置在
%SystemRoot%\Prefetch 目录中扩展名为 .db 。
同时,由于Superfetch技术是构建在Prefetch的基础之上,所以Vista在启用Superfetch的同时也开启了Prefetch功能,这也进一步加剧了磁盘读写。如果您的计算机硬盘速度碰巧比较慢,比如笔记本的5400转硬盘,那么Superfetch反而会导致您的系统变慢。
=======================================
【IT168 应用】如何通过优化预读文件设置,来对Win7/Vista/XP系统的开关机提速。在此,考虑到XP、Vista和Win7以及Win2003、Win2008系统下的所有用户,我们选择用魔方为例吧。当然Vista系统用Vista优化大师、Win7系统用Windows7优化大师也都是好的选择。
安装魔方
一、禁止预读程序产生索引文件
预读文件可能导致系统启动变慢,是因为要读取运行程序时生成的索引文件所造成的。因此,我们只需要禁止那些PF文件的产生即可。
打开魔方,点击“系统优化”、“服务优化”,到“Superfetch” 这个服务并且勾选一下,点击下面的停止并设为手动,OK,这样就全面禁止Superfetch服务了,XP系统下面的服务名字是Prefetch,大家注意下。
二、只读取系统文件
实际上,在《抓出Win7/Vista/XP中Prefetch预读文件的内容》这篇文章里面我们提到,最好还是不要关闭这个预取服务,我们可以有选择的进行设置而不是全部禁止。
由于Prefetch中保存了系统和应用程序的索引信息,从提高启动速度的角度来看,提醒大家可以只设置读取系统文件,而跳过应用程序的索引文件读取过程。
对此,我们可以运行“regedit”后打开注册表编辑器,依次选择win7显示隐藏文件
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management/PrefetchParameters
双击右侧的“EnablePrefetcher”,可以看到其值为3,即读取系统文件和应用程序,我们可以将其改为2,即只预读取Windows 系统文件。这样,Windows系统再次启动后就只预读系统文件了。
三、关机自动清空预读文件
我们还可以通过关机时自动清空预读文件夹内容,以达到加快下次开机速度的目的。
打开记事本,在里面输入
del %systemroot%/Prefetch/*.* /q
将该文件保存为del.bat文件。
接下来再打开“运行”窗口,输入gpedit.msc后回车打开组策略编辑器,依次选择“计算机配置DWindows设置D脚本”,双击右侧的“关机”项,在打开的窗口中单击“添加”按钮,把del.bat文件添加进来。这样在关机时组策略即会在后台调用del.bat并运行其中的命令对预读文件夹中的内容进行清除,从而提高下次启动的速度。
通过上面的操作,相信预读文件又发挥其原本的功能,不再成为开机的障碍了。
============================================= ===================
打开注册表到以下键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
EnableSuperfetch 和EnablePrefetcher 都更改为3即可
设置为"0",不使用预读功能;
设置为"1",系统将只预读应用程序;
发布评论