Tom Archer的ReadyBoost Q&A是一个有关ReadyBoost的深入读本,我找了其中的一些翻译成中文的,很多信息的确很有用,但老实说,购买U盘和体验ReadyBoost之前我没有仔细看这个FAQ,但是我的运气好些还不错,没有买错,而且体验的得很好。
一些有关ReadyBoost 要点:
- 1。ReadyBoost主要的目标是提高你机器文件随机读取的速度和性能,也就是说改善磁盘存取。也就是说你增加一个2G的ReadyBoost兼容的U盘,并不意味着你系统增加了2G内存
- 2。ReadyBoost存在的一个理由是顺序IO和随机IO的差别,因为最一般的情况下,从Flash(U盘)上面一个随机读取4K比从硬盘上读要快至少10倍。而当一个机器内存不够的时候,Windows/Vista就会将内存中的应用/数据置换到硬盘的页面文件上,所以在内存小的机器上你往往会发现硬盘不断地在读写,而页面文件的读取很多时候都是随机读取操作而不是顺序读取
- 3。目前ReadyBoost支持最大是4G的U盘或Flash设备,一方面是因为FAT文件最大的大小是4G,另一方面4G的U几乎可以产生类似8G的缓存了,所以足够你用了。我想还有另外一个原因,是4G以上的支持ReadyBoost存储设备现在很罕见,而且也很贵很贵。
- 4。一个128M的U盘对ReadyBoost几乎没有什么用,ReadyBoost缓存最小要256M,这意味着一个512以上的高速U盘是你要准备的。
- 5。什么样的高速U盘可以满足Vista的ReadyBoost?--4K的随机读要达到每秒2.5M,512K的随机写要达到每秒1.75M,我相信这是微软认为ReadyBoost的建议配置,就如他们推荐安装Vista只要512M内存就好,但实际上1G内存运行得才让你比较满意。所以我建议把上面的指标Double比较好,当然越高越好,这样的U盘现在还是比较多的。下面我会介绍选择的方法和一些工具。6。在256M-4G的U盘中,我如何选择呢,微软建议和你的页面文件设置规律类似,即基本要求1:1,最大不超过2.5:1,假如你的机器有1G内存,那么最小准备一个1G的U盘,如果你有一个4G的U盘,那么ReadyBoost缓存最大不要超过2.5G,也就是说这个U盘还有1.5G空间你可以做其他用途,再多了也没有用,同理推算更大的内存情况。
- 7。不要把你的MP3或者838手机变成一个U盘,然后再把它当成ReadyBoost的设备使用,微软说,哦,你别这样,如果你一定要,那是你的问题。
- 8。将U盘当作ReadyBoost使用进行多次的读写是否会影响U盘的正常寿命,微软说不会,他们的研究表明10年内没有影响,但我想,对U盘还是有些损耗的,但一个U盘你用10年也够本了,况且他至少研究和注意到这个问题。
- 9。市面上有的U盘或SD卡号称读写王达到133X或150X,这意味着每秒有13M~25M的读取速度,但也许并不一定支持ReadyBoost,原因有两个第一这个速度是指顺序读写还是随机读写的速度,ReadyBoost强调的是随机读写的速度,所以当JS说1G的电影文件复制到你的U盘上只用不到2分钟,也许这是真的,但并不意味这就是随机读写,而且微软也说了,有些设备的速度不是指整个设备的,比如一个512M的U盘有可能它前256M部分速度很快,但后面的256M可能很慢。
- 10。ReadyBoost目前还不支持或完全支持这样场景:我先购买了一个150X(15M/秒写,22M/秒读)的2G的SD卡(大约270元RMB),然后我在花30元买一个飚王的SD读卡器,之后插到Vista机器上面,这样我几乎用300元RMB获得了一个2G的高速设备。但非常可能的情况:这2G的设备不能用作ReadyBoost。但微软也说了,Vista支持 SD/CF/MS/MMC卡用做ReadyBoost,但前提是这些设备是通过内部/主板的USB2/PCIe总线。有些本本,比如我最近换的HP NC 8430笔记本就内置一个SD/MS口,不过我没有试过
- 11。Vista只支持一个设备使用ReadyBoost,这意味着你想买两个1G的U盘,分别使用ReadyBoost的想法是不现实的。显然很多时候买两个2G的U盘可能比买一个4G的U盘还要便宜。
- 12。最后U盘上的ReadyBoost 缓存毫无任何神奇之处,首先U盘上的缓存内容是加密的,第二,当你启用了ReadyBoost,那么Vista也不会感到意外,默认它会优先从ReadyBoost U盘上进行页面的随机读取操作,当它无法发现这个设备之后,它会继续从你的硬盘上页面文件中进行获取,微软说并不存在两个分隔的页面文件(U盘上一个硬盘上一个),简单的说ReadyBoost技术优化的就是随机读取页面文件和页面文件交换的这部分的速度
下面是我认为你应该充分了解的要点:
- 1。ReadyBoost 是基于内核的一个服务,它相对于一个钩子,能够改变和控制Vista有关随机读取的机制和行为。
- 2。ReadyBoost 不等于加内存,而且和内存相比,加内存是提高系统的速度和性能最直接的方式,两种情况下你可以考虑ReadyBoost ,第一,你已经不能增加内存了,或者增加内存是一件非常昂贵的话;第二种情况,即使你有2G或超过2G的内存,你仍然可以掏300-800RMB用ReadyBoost换取随机读取的速度。
- 3。许多人试验了ReadyBoost,感觉其速度和功效不大,我认为第一是选取的U盘不合适,其二是没有找到应用的场景。
- 4。我看到网上有人将自己的笔记本内存拔掉,只留下256/512M,然后开20-30个IE窗口,10个Word程序,然后看系统的速度,我认为这个场景不能体现ReadyBoost的功效,其一,你系统中的可用内存很少,第二Vista内置SuperFetch功能的起了很大的作用,和ReadyBoos相比,首先SuperFetch会起作用,而不是ReadyBoos首先起了作用。
- 5。我试验中ReadyBoost的场景,第一是Outlook,一般一个有800-1000个邮件的Outlook,会占200-300M的内存,而你打开这个Outlook之后,还会看、写、发邮件,这些都会需要随机读取,你会发现执行ReadyBoost的U盘会闪动,而硬盘灯没有亮。
- 6。另外一种场景是开发人员,在Vista运行虚拟机,一般运行一个虚拟机在512M-800M之间,启动这个虚拟机之后,你还会进行其他的操作,比如继续在Vista上面打游戏,或者打开Outlook或Word进行操作,同时也在虚拟机中进行Visual Studio 2005/SQL Server 2005,那么这时候,有没有ReadyBoost的差异就明显很多了。
- 7。我没有从技术上确认这一点,但在整理硬盘碎片的时候,你会发现有ReadyBoost扩展存储设备的Vista会比没有的快很多,而且U盘持续的在读写。同样的情况也发生在一个机器已经休眠一阵,现在要重新恢复到正常运行的过程中。
- 8。要想让ReadyBoost发挥作用,你必须了解SuperFetch服务,ReadyBoost的存在只是让哪些预读取的数据从虚拟文件上移回物理内存的时候更快些连续性更强些。显然高速随机读取的闪存比硬盘在这一点上更快。
- 9。很多人将ReadyBoost误解为加快启动速度,其实,真正用了你会发现,对于系统启动来说,ReadyBoost的功效很小,因为每次系统启动,如果ReadyBoost服务启动,那么系统会重新在扩展存储设备上建立ReadyBoost.sfcache文件,如果是2G/4G的sfcache文件,老实说,速度可能还会减慢。ReadyBoost的服务名叫EMDMgmt (即扩展存储设备管理服务),其实是SuperFetch能够将任何送到虚拟内存的预取数据重定向到ReadyBoost存储设备上,而不是硬盘上。同样的,当需要将数据取回到内存时,取回操作将更快,ReadyBoost是让这些数据能够Boost的Ready,所以ReadyBoost != ReadyBoot
- 10。平常心态看待ReadyBoost,ReadyBoost不等于增加了内存和更快的虚拟文件,所以它的功效要平常看待,比如你打开一个游戏程序,默认的时候需要32.6秒,然后使用ReadyBoost你发现启动只需要26.5 秒,那么也就说加快了18.7%,而现实中32.6秒和26.5 秒的差别也就是你眨眼的功夫,而不是第二次眨眼比第一次快了18.7%的感觉,一些人说ReadyBoost没什么用,我个人认为,这个因人、内存、机器设备而异,有条件不妨试一试,用一用。
ReadyBoost也不是万能的,因为即使在没有ReadyBoost的情况下,Vista也会正常运行,所以每次一个支持ReadyBoost的扩张存储设备加入系统时,Vista会在这个存储设备上重新建立交换文件,SuperFetch将在下次从这个设备的交换文件上读取和置换数据,对于一个4G的U盘来说,如果它不能达到ReadyBoost要求的高速读写速度,那么在这个U盘上建立4G的交换文件将是一个需要时间的过程。