欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

Windows Vista 512MB内存照样跑得欢[本文谢绝转载]

都知道Windows Vista是个“吃粮大户”,微软官方网站的说法是Windows Vista的最低安装需求是512MB内存。有经验的读者朋友都知道,所谓的最低安装需求往往不足为信,例如微软曾经号称64MB的内存就已经足够“迎娶”Windows XP了,但实际上64MB也就刚够安装而已。可想而知,如果您的爱机不幸“家境贫寒”,只有512MB内存,也就是说连Windows Vista系统自给自足都很困难,更不用说期望获得比较流畅的性能了?
难道512MB的用户真的就无福消受Windows Vista了?
答案当然是否定的,有了微软为我们精心“烹制”的ReadyBoost功能,我们就可以畅快地享受Windows Vista这道“美味大餐”了。

葫芦里的药

需准备一个
USB闪盘,而无需购买内存(有的计算机还无法随意添加内存),就可以开启ReadyBoost功能,从而让我们的系统性能更上一层楼。
不少读者朋友可能会怀疑:不就是普通的USB闪盘嘛,依我看还不如硬盘的速度快,怎么可能给系统提速?
笔者就来说说ReadyBoost功能的葫芦里到底在卖什么药:
现在硬盘的数据传输率、转速、缓存容量和接口速度都有了极大的提高,硬盘的顺序访问速度可以达到80/秒以上,也就是说,填满1GB内存大约需要约12.8秒;但是由于长期以来,硬盘的寻道时间一直没有很好的提高,这导致硬盘的随机访问速度只能达到可怜的1/秒,也就是说,填满1GB内存大约需要1024秒!
对于小内存的系统来说,由于经常需要把内存中的数据和页面文件进行交换,所以硬盘的性能就是瓶颈。对于应用程序和系统来说,大多时候,顺序访问速度倒并不重要,而随机访问速度才是决定性因素,而硬盘正是在这点上吃亏。
U盘就有它的优势了,U盘的随机访问速度可以达到硬盘的10倍以上。而ReadyBoost功能正是利用了U盘的高速随机访问能力,让U盘作为Windows VistaSuperFetch缓存,从而让512MB内存的Windows Vista也能获得比较好的性能。

提示 SuperFetchWindows Vista引入的一种新型内存管理机制,ReadyBoostU盘虚拟成SuperFetch缓存,从而提高系统性能。

实战演练

尽管ReadyBoost的原理说起来比较复杂,但是操作却很简单。只要把U盘插入USB接口,Windows Vista立即会弹出一个“自动播放”对话框,如果U盘符合ReadyBoost要求,就会出现一个“加速我的系统”选项,如图1
所示。

单击“加速我的系统”选项,即可出现如图2所示的对话框,选中“使用这个设备”选项,然后拖动滑块指定ReadyBoost所占用的U
盘空间。

这时候如果去U盘根目录下,可以看到一个名为$emd.sfcache的文件,如图3所示。这实际上就是ReadyBoost所生成的SuperFetch缓存,其缓存文件的大小就是图2中所指定的保留空间。

好了,现在您就可以尽情享受ReadyBoost所带来的性能提升了。

疑难补充

读者朋友可能会有一些疑问,以下就是一些常见问题的补充:
1.必须是USB 2.0设备,ReadyBoost不支持USB 1.1设备。这就是为什么VMware虚拟机无法利用ReadyBoost的原因,因为VMware虚拟机只能模拟USB 1.1接口。
2USB设备至少具有3.5/秒的随机读取速度(4KB),至少具有2.5/秒的随机写速度(512KB)。
3U盘的剩余空间至少64MB
4.由于ReadyBoost采用Write-Trough技术,所以即使突然拔掉U盘,也不会导致数据丢失。同时ReadyBoost采用AES 128位加密,确保数据安全。
5.由于采用了特殊的算法,ReadyBoostU盘的读写,几乎不会有损U盘的寿命。
6ReadyBoost实际上相当于一个“U盘”版本的页面文件,系统会首先尝试到U盘的SuperFetch缓存里查找数据,如果没有的话,再到硬盘的页面文件中查找。由于U盘的随机访问速度远高于硬盘,由此提升了系统性能。
7.在Windows Vista Beta 2 Build 5384上的测试显示,ReadyBoost确实可以显著提升小内存系统的性能。但是由于需要生成SuperFetch缓存文件,所以每次开机时,system进程和SuperFetch等服务的CPU占有率一度会比较高。

参考资料

本文参考了Tom Archer的文章,原文链接如下:
http://blogs.msdn.com/tomarcher/archive/2006/04/14/576548.aspx

已发表 2006年8月1日 18:18 作者 ahpeng
归档在:

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

2006年8月1日 18:49 by 盆盆的博客

# 512MB内存的Windows Vista照样跑得欢

2006年8月1日 19:52 by appbeta

# re: 512MB内存的Windows Vista照样跑得欢[本文谢绝转载]

我试过,似乎提升效果极不明显,没有大内存还是不要指望这个方法,当然我指的不是ReadyBoost技术,而是硬件。
2006年8月1日 20:20 by exce11ent

# re: 512MB内存的Windows Vista照样跑得欢[本文谢绝转载]

最重要的没说:具体效果怎么样
,能否提供一个量化的指标
2006年8月1日 22:01 by ahpeng

# re: 512MB内存的Windows Vista照样跑得欢[本文谢绝转载]

To appbeta:
提升效果是否明显,我的个人看法,要看以下几个因素:
1.U盘的随机读写速度是否足够快。关于这点,不能光看U盘的标称数值。
2.SuperFetch缓存的大小是否足够大,最大不超过4GB。
3.应用程序或者所做的操作是否主要是随机读写。如果你的应用程序主要是顺序读写,那么ReadyBoost几乎没有任何作用。

另外,如果系统具有大内存(2GB或者以上),那么ReadyBoost没有意义。因为内存的随机读写速度远高于U盘。毕竟内存的学名似乎叫做“随机存储器”。
2006年8月1日 22:09 by ahpeng

# re: 512MB内存的Windows Vista照样跑得欢[本文谢绝转载]

To exce11ent:
您的问题提的很好。
不过由于ReadyBoost技术受到多种因素影响,不同的USB闪盘、缓存容量,不同的应用程序,都可能影响系统性能。

不过可以借助一些专业的内存性能测试工具,对系统性能进行测试,这需要安装一个干净的测试环境,并且按照测试的要求严格进行测试。笔者并不擅长这类实验,所以只能期待其他朋友提供这方面的实验结果。
2006年8月4日 9:05 by clippit

# re: Windows Vista 512MB内存照样跑得欢[本文谢绝转载]

我家里没有USB2.0的U盘啊~~只能去买了
不过也好,我家有1G的内存,光跑Vista肯定够了,但是不知道以后在Vista干各种各样的事情的时候还能不能撑得住~~~
我又想起了当年256M的内存用着XP SP2,开着QQ玩WOW的日子了……
2006年8月4日 16:12 by ahpeng

# re: Windows Vista 512MB内存照样跑得欢[本文谢绝转载]

To大眼夹:
1GB跑Vista应该还行。
2006年8月8日 10:17 by lester

# re: Windows Vista 512MB内存照样跑得欢[本文谢绝转载]

按照文章的意思是,这个U盘还不能完全等同于内存,只是多了一些缓存空间,对吗?
还想问一下,我的SanDisk 512M的SD卡插在读卡器(不是那种USB外接的)中,速度和USB 2.0标准的U盘相比,哪个速度会更快些?谢谢盆盆!
2006年8月8日 14:09 by ahpeng

# re: Windows Vista 512MB内存照样跑得欢[本文谢绝转载]

To 浮云游子
我们可以这样理解虚拟内存,当CPU需要加载某个进程、线程或者数据时,它首先会在内存里找,如果找不到,就会到页面文件里找。所以对于所有应用程序来说,它们认为内存容量足够大(远大于物理内存)。但是由于页面文件保存在硬盘上,而硬盘的访问速度(尤其是随机访问速度)远远低于内存,所以如果物理内存容量比较小(导致系统经常要到页面文件里提取数据),就会导致系统响应速度降低。

如果采用U盘做成缓存,由于U盘的随机访问速度大概是硬盘的10倍,所以由此加快了系统的响应速度。

ReadyBoost的速度并不是完全取决于USB接口的速度,而是取决于U盘的随机访问速度,这和USB设备的标称速度不一定等值。

要注意的是,从原理中可以看出,ReadyBoost仅仅对随机访问密集型的任务有加速作用,如果是顺序访问型的任务,那么由于U盘的顺序访问能力还不如硬盘,所以没有什么加速作用(但是也不会拖慢系统速度,因为系统会从优先从硬盘读取)。

说说您的看法?

(必填) 
必填 
(必填)