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