Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3030037
  • 博文数量: 59
  • 博客积分: 10085
  • 博客等级: 上将
  • 技术积分: 4852
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-29 19:51
文章分类

全部博文(59)

文章存档

2012年(1)

2011年(20)

2010年(9)

2009年(20)

2008年(9)

我的朋友

分类: 系统运维

2009-09-05 21:28:10

在互联网上有很多关于预读的技术问题争论。我参考了很多关于预读优化方面的文章,下面进行下个人的分析。

首先,预读有没有用。答案,预读肯定有用的,不然微软也不会发明它了。网上的说法很多,但主要的作用,一句话概括就是:加快系统运行速度。


第二,预读该怎么用。一般网上流传的关于注册表优化项目:
打开注册表编辑器,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters分支,在右侧窗口中双击"EnablePrefetcher",在打开的"DWORD"值编辑窗口中,可以对Windows XP进行预读设置:
将该值设置为“0”,即为取消预读功能;
设置为“1”,系统将只预读应用程序;
设置为“2”,系统将只预读Windows系统文件
设置为“3”,系统将预读Windows系统文件和应用程序。

至于设置“4”“5”,网上很少提及它的功能,据说官方推荐处理器在PIII以上处理器选择4或5,但具体功能还是没说,我也没能找到其功能,那还是来实践一下吧,真理离我们不远了!
我经过在虚拟机下反复实验,即把注册表修改,然后直接重启,最终出现了这样的结果:
选择 0 1 4 5结果都差不多,滚动2-3圈进入短暂黑屏,然后启动进入桌面。
选择 2 3 结果都是跑了8-9圈不黑屏直接进入桌面

分析:2和3的相同之处就是预读了Windows系统文件,可见预读Windows系统文件是增加开机时滚动条滚动次数的重要条件。

下面在来分析一下网上其他同志机器关于注册表修改导致的现象:
本人机器配置:Intel845GL-M/Celeron 2.60GHZ (超至2.8GHZ)/DDR400 512M/集成三卡。
    刚装了新系统,按照习惯优化设为1,惊人的场面出现了:开机竟要滚动十几圈才缓缓转入系统登录。→改为3重启,依然~ →改为0重启,依然~ →无奈之下改为4,惊人的场面再次出现:滚动不到一圈半进入!→改为5:两圈 → 改为1:仍然两圈。改成4,5,1之后,虽然滚动时间减少了,登录桌面却有些迟缓,启动声音听完后一、两秒才进入桌面,而且鼠标会处于忙状一小会儿,即不能立即运行程序和上网。最后改为3,开机滚动3圈半,进入桌面瞬间完成,迅时响应鼠标点击。


仔细分析上面的现象,开始设置为1,滚动十几圈,只是一个短暂现象。而后面改为4,5,1才是持续现象,即滚动2圈进入。而2,3当然就是3圈半了。

我还看到一些网上描述的现象,和上面那个很类似,前面的7圈6圈其实是短暂现象(大家注意都是新装系统哦):
   
机器配置:Intel865GL P4 3.0GHZ   DDRII 1G   9550GT   新装XP Pro系统
      设为1开机:开机滚动7圈半左右缓缓转入系统登录。
      设为2重启,6圈半左右缓缓转入系统登录。
      设为3重启,3圈半左右即使进入系统登录,进如桌面反应及时,迅时响应鼠标点击。
      设为4重启,2圈左右,启动声音2秒后才进入桌面,鼠标处于繁忙状态数十秒,不能立即运行程序和上网。
      设为5重启,滚动次数少,同上面改为4的效果差不多,进如桌面反应慢,不能立即运行程序和上网。

综合:取消预读系统文件的确会导致滚动条滚动次数减少,但是在进入桌面时会有短暂黑屏现象。至于是不是对系统整体运行造成影响,其实官方早有说明,我们再来看看,微软解释:WindowsXP预读设定可提高系统速度,加快开机速度;使用PIII800MHz CPU 以上的建议将值改为4或5,否则建议保留为默认值3。
其实微软已经说得很明白了,它只给了2个选择:4或5,否则3。因此对于那些设置为0,1,2的放弃了吧。

至此,我们只要解开4和5的功能,一切都会大白于天下。不过对于目前而言,因为硬件环境不同,大家可以尝试修改4和5试一下,看到底会出现什么结果,毕竟实践是检验真理的唯一标准,适合自己的,才是最好的。


刚写完,我又到台式机上面看,因为最近感觉系这台电脑运行程序打开缓慢,我怀疑与预读有关,故才做这个预读实验,故才有这篇文章。我这台机器开机只要一圈半,我查看注册表,竟然值为3,即开启了预读,才滚动一圈半,难道我的理论错误?,于是我把值改为0,重启发现依旧为一圈半。最后我发现在windows下的文件夹里根本没这个Prefetch文件夹,至此,我明白了,这台机器无论注册表值改为多少,效果都是一样的,因为没有了这个Prefetch文件夹,当然也就不存在预读了,没想到番茄花园的软件竟然是这么设计的。。。那么这个Prefetch文件夹到底有什么作用呢?刚不是说预读吗?从哪预读,其实就是从这Prefetch文件夹里预读文件。该文件夹位于windows目录下,储存的就是常用程序与系统的预读文件。开机时系统会到这儿读取相关文件。故而系统当然在启动时花费一定的时间。然而总体来说应该是提高了系统速度。故而,我们应该选择预读。因为电脑是拿来用的,不是拿来启动的。

不过,启动预读也并不一定全是好事,没有什么完美的东西,它也有缺陷的。因为,电脑用久了,一段时间用这个程序,一段时间用那个程序,装了又卸,卸了又装,导致很多预读文件无法再起到加快系统速度的作用,这样会导致系统反而变得慢了。windows不会自动清理垃圾文件,这就要靠我们手动清理了。大家可以直接到Prefetch文件夹里清除垃圾文件,也可以做个批处理,很方便的。网上有方法,如下:
我们新建一个记事本文件,并且改后缀名为.bat,命名为DelPre.bat,然后用记事本打开它,并在里面加入以下内容:
del %SystemRoot%\Prefetch\*.* /q  ,然后保存。
加"/q"参数是删除全局通配符时,不要求确认,当然还可以用其他参数,如"/f"参数是强制删除只读文件。


相信很多朋友机器运行很久了,感觉到速度变慢很多,不妨用上面的方法试一下,说不定速度有明显提高。当然,系统变慢还与垃圾文件等因素有关。网上有说法,不要删除预读文件,(详见这儿 ,我觉得该作者一竿子打到底,因为反对取消预读,进而反对清除预读文件)我不敢苟同。因为预读文件删掉系统可以再建的。


总结 :这样看来,一般电脑使用变化过程应该是这样的:刚装完机,速度还可以,用了一段时间,由于系统预读,速度越来越快,不过久了之后,由于垃圾文件与预读死链存在就又变慢了。故而一般情况下,系统还原后,速度感觉很快。。。


其他:关于电脑启动速度,还有一种说法,请参考这儿: 。




注:红色部分系引用网上原语句。
 
------------------------------------------------------------------------------

手动加速的方法

 

    首先,打开“系统属性”(在我的电脑上点右键-属性,或者在控制面板里打开“系统”,快捷键win+pause break)点“高级”选项卡,在“启动和故障恢复”区里打开“设置”,去掉“系统启动”区里的两个√,如果是多系统的用户保留“显示操作系统列表的时间”的√。点“编辑”确定启动项的附加属性为 /fastdetect而不要改为nodetect,先不要加 /noguiboot属性,因为后面还要用到guiboot

 

  接下来这一步很关键,在“系统属性”里打开“硬件”选项卡,打开“设备管理器”,展开“IDE ATA/ATAPI控制器”,双击打开“次要IDE通道”属性,点“高级设置”选项卡,把设备12的传送模式改为DMA若可用,设备类型如果可以选择“无”就选为“无”,点确定完成设置,同样的方法设置“主要IDE通道”。

 

  打开注册表(开始-运行-regedit),单击“我的电脑”打开“编辑”菜单的“查找”,输入AutoEndTasks,点“查找下一个”。双击打开找到的结果修改“数值数据”为1。然后在AutoEndTasks的下面可以找到HungAppTimeoutWaitToKillAppTimeout,把“数值数据”设为2000或者更小,在这里顺便也把菜单延迟的时间修改一下,在AutoEndTasks的下面找到MenuShowDelay,数值是以毫秒为单位,如果希望去掉菜单延迟就设为0

 

   进入“我的电脑”——工具——文件夹选项——查看——取消“自动搜索网络文件夹和打印机”的勾选。

 

   打开“系统属性”- “高级”-“启动和故障恢复”设置,打开“系统启动”区的编辑,在fastdetect的后面加上 /noguiboot,这样在启动的时候就不会再显示滚动条。如果你非常喜欢这个滚动条的显示这一步就不用做了。

 

   现在启动和关机的加速都已经完成,重启一下电脑感受一下极速启动的感觉吧,滚动条是不是只转一二圈就OK了。

 

文件: 对应注册表.rar
大小: 0KB
下载: 下载

 
阅读(2246) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~