Chinaunix首页 | 论坛 | 博客
  • 博客访问: 222343
  • 博文数量: 520
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 5810
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-17 23:07
文章分类

全部博文(520)

文章存档

2010年(520)

我的朋友

分类:

2010-10-23 18:57:43

  vista开机慢关机启动速度慢如何解决|关闭superfetch和prefetch。网上很多朋友都在谈论vista启动慢的问题,大多有两方面:   1、硬件配置的问题,特别是显存小于128mb,内存小于512mb。   2、硬件冲突以及驱动程序不匹配的(当然由于这些原因多导致的启动慢,存在于所有windows系统上)   其实还可能有另外一个原因:superfetch,这原本是windows vista的新技术,用于加速系统运作。   但实际上,在一些慢速硬盘的设备,例如笔记本上,关闭它反而可以提升系统响应速度。我在自己的笔记本上进行测试,关闭superfetch,然后观察从打开电源到用户登录完成,也就是说登录后,硬盘灯不再常亮,这个过程所需要的时间,节约了大概5-7分钟。   在理解为什么superfetch会影响到系统启动速度的时候,我们需要先讲解几个技术,以充分了解它们的原理。   虚拟内存 包括vista在内的windows操作系统都一直在利用虚拟内存,它的作用在于,当物理内存不能满足应用需要的时候,操作系统将开始把应用程序在内存中的部分数据,存储到硬盘,从而释放ram以备他用。这些被存储到硬盘的数据,以文件的形式存放,通常在根分区,名为pagefile.sys的隐藏文件。   当需要调用这些数据的时候,操作系统查找pagefile中的数据,并将之返回到内存。在这过程中,由于需要反复的磁盘读写,所以可能导致应用程序反应很慢。   预读prefetch 于是到了windows xp,操作系统的设计人员就设计出一种成为 预读prefetch的技术,这种技术在系统或者应用程序启动过程中,监视数据在磁盘和内存之间的移动规律或者状况,预先把那些读写频率较高的数据,保存到 %systemroot%prefetch文件夹扩展名为.pf的文件中,并一种规则高效的方式存放这些文件。这样,当这些数据被重复读取的时候,就可以直接从这些缓存文件中读取,而不用重新读取硬盘扇区、磁道,寻找数据的原始位置,自然也就加速了应用程序的响应速度。但这种技术主要的缓存方式仍然是基于磁盘的。   快速预读superfetch 到了windows vista,因为计算机的内存已经日益增大,设计人员开始考虑使用内存作为预读快取的数据存放空间。但出于两方面的原因,一内存是不可记忆的,一旦断电所有数据都将丢失;二 内存并没大到可以容纳所有应用程序的程度,故而 superfetch的读写操作虽然主要是基于内存,但是将数据写入内存的同时,仍然会写入硬盘,以用于数据交换。这些数据以文件形式存在,通常它们的存放位置在 %systemroot%prefetch 目录中扩展名为 .db 。   同时,由于 superfetch技术是构建在prefetch的基础之上,所以vista在启用 superfetch的同时也开启了 prefetch功能,这也进一步加剧了磁盘读写。如果您的计算机硬盘速度碰巧比较慢,比如笔记本的 5400转硬盘,那么superfetch反而会导致您的系统变慢。   解决问题 我们了解了superfetch的工作原理,解决系统启动慢也就不成为问题了。下面对superfetch的调整,通过注册表就可以完成了。superfetch的注册表键值在   hkey_local_machinesystemcurrentcontrolsetcontrolsession managermemory managementprefetchparameters   那么提升vista系统启动速度以及应用程序响应速度,您可以考虑三种方式:   1、调整 superfetch 缓存级别。   键名为 enablesuperfetch   键值为 0=停用 1=superfetch 应用程序 2=superfetch 启动程序 3=superfetch 两者   默认值为3,您可以尝试调整这些值,感受一下调整后,系统或者应用程序的响应速度。   2、关闭 prefetch 或者 superfetch   prefetch的键名为 enableprefetcher,键值设置同上。您可以将两者或者其中一个设置为 0,即关闭它们以减少磁盘读写。   3、采用 readyboost   此时superfetch将会把缓存的数据文件转移到闪存存储上。转为readyboost所准备的闪存存储要比5400转的笔记本硬盘来得快。我做过一个尝试,一般的闪存复制数据,大概在 3-4mb/s,而readyboost闪存能够到 10mb/s。所以使用readyboost的技术,一方面加速了superfetch的运作效能,另一方面也减少了硬盘的读取,从而让您的计算机在运行的时候能够更快的响应。   其它 至于关闭superfetch对休眠会有多大影响,我没有测试,大家有兴趣可以测试一下。 如果喜欢关闭superfetch和prefetch提升vista开机速度请收藏或告诉您的好朋友.
阅读(145) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~