以前为了节省预算很多消费者在配机时都只购买2GB内存,不过到了现在的内存价格一泻千里几乎可以说是白菜价了……如今,单条8GB DDR3 1333内存的价格跌近100元,很多消费者在配机时都会直接选择了大内存,8G,16G,32G。。。 内存价格的一路走低,造就了越来越多的大内存配置,不过是不是所有的人都能真正用好这些大内存呢?显然不是,工程师就看到过许多用着4GB、8GB内存装32位操作系统的用户,也见过配备8GB内存,装好64位操作系统,只是做简单的文字处理、网络浏览等简单应用的用户,对于这些人来说,大内存的意义就完全没有体现出来。那么,要如何才能体现大内存的价值呢,又有哪些应用方案适合于大内存系统呢?本期的主题策划,我们就一起来看看究竟有哪些应用方案适合大内存系统,这些方案各自的优势又是什么。 大内存应用方案 对于采用了大容量内存的系统来说,基本上有四种比较有代表性应用方案,我们将为大家一一分析。 第一种方案是直接安装64位Windows系统,以64位Windows7最为常见,现在很多品牌机预装的就是64位的Windows7。采用这种方案的大内存系统性能的提升最为有限,只有在部分需要极大内存的应用中才能体现出大容量内存的性能优势,而在普通应用中系统性能的变化就不太明显了。 第二种方案是将系统装进内存,这种方案安装相当复杂,但是对系统性能的提升非常巨大,系统加载速度大幅度提升,程序加载的速度也变得非常快。不过这种方案目前具有较大的局限性,整个系统盘必须小于2GB,否则加载过程就会失败,这就意味着要么安装极度精简版的Windows7系统或安装普通的Windows XP系统,但无法再系统盘中安装大型应用软件,而只能安装常用的非大型应用软件。 第三种方案是将部分内存虚拟成硬盘,这样一来系统中将会出现一个读写速度非常快的分区。将部分应用程序安装在虚拟硬盘中之后,启动这些应用程序的速度会有非常明显的提升,但是对整个系统的整体性能影响并不大。不过现在的虚拟硬盘软件也支持在关机时将虚拟硬盘中的数据写入镜像,不会再出现关机及丢失数据的情况。这种方案目前也有一定的局限性——目前的虚拟硬盘软件只能创建容量在4GB以内的虚拟硬盘。 第四种方案是将内存虚拟成磁盘缓存,为硬盘分配内存作缓存,并拦截系统发送至硬盘的IO请求。如果IO请求读取的数据已经在缓存中,则直接读取缓存中的数据并完成IO请求。否则数据则从硬盘中读取出来,并存入缓存,同时完成IO请求。由此可见,从缓存读取的数据量越多,则系统性能提升的越多,避免频繁读取速度较慢的硬盘,从而提升系统性能。 我们如何测试 测试平台 处理器:Intel Core i72600K 主板:技嘉Z68A-D3H-B3 内存:宇瞻DDR3 16004GB×4 硬盘:希捷7200.121TB 显卡:索泰GeForce GTX560TI 显示器:DELLU2410 电源:航嘉X7 900 系统:Windows 764bit中文版 驱动:ForceWare270.80 在本次测试中,我们主要测试每套方案的系统性能和磁盘性能。在系统性能测试上,我们使用PCMark7来测试整个系统的各项测试分数,同时记录系统开机加载Windows7(部分测试为Windows XP)的时间及从系统中关机的时间,再记录《天堂2.5》测试程序的加载时间,以测试系统在读取大型程序和游戏的速度。 在磁盘性能测试中,我们选择SiSoftwareSandra的文件系统读写性能测试和HD Tune磁盘读取测试,这些测试程序实际进行的测试项非常多,从这些测试成绩中可以显著看出各方案对系统磁盘性能的影响。对于内存虚拟硬盘的系统来说哦,我们测试虚拟硬盘的读写速度,对于内存虚拟硬盘缓存的系统来说,我们测试主硬盘的读写速度。 测试方案详解 方案一:直接安装64位Windows7 对于大多数用户来说,直接安装64位Windows7是最直接的选择,这种方案操作最为简单,安装好操作系统后就不需要其他操作了。相对于32位操作系统来说,64位操作系统能够识别出全部16GB内存,运行速度也还算不错,不过跟安装4GB内存的系统相比,性能并没有明显的提升,只是在超大型程序的加载和运行过程中能感受到运行速度的加快。 方案二:在内存中安装系统 在内存中安装系统是操作最为复杂的,经过我们多次验证,目前要想成功地将系统安装在内存中,加载进内存的镜像不得超过2GB。这就带来了很多问题,因此这一个部分我们将分为Windows7版内存系统和Windows XP版内存系统两个部分来分析。 必备工具:FiraDisk驱动程序、Grub For Dos引导程序、Windows7安装光盘或Windows XP安装光盘、Windows7精简版、WinPE工具盘、VDM镜像制作程序 1.在内存中安装Windows7 在前面的分析中我们谈到了要想成功将Windows7安装到内存中,要求整个系统盘的文件占据的空间不得超过2GB,而这是非常复杂的。普通的Windows7安装完成之后大概要占到10GB左右的空间,如果再算上虚拟内存的页面文件和系统休眠的镜像文件,安装了16GB内存的系统,大概要占到30GB的空间,这样是不可能成功做成镜像的。而且普通的给Windows7瘦身的方法也不太管用,瘦身完成后Windows7依然要占据7GB左右的空间,因此我们只能安装极致精简的Windows7系统。 由于工程师下载的极致精简版Windows7采用的是自动解压的方式安装,而直接解压的话由于没有系统启动引导程序,极致精简版Windows7是无法使用的,因此必须将安装极致精简版的Windows7系统分为两步来完成。 第一步是在硬盘上以正常的安装方式安装标准的Windows7系统,这一步非常简单,就不多说了。紧接着进入比较复杂的第二步,系统安装完成后什么驱动程序都不用装,直接重启用WinPE工具盘引导到WinPE系统中。从WinPE的计算机管理窗口中进入磁盘管理界面,此时可以看到磁盘“C:”为系统保留的100MB分区,这个分区存放的是Windows7的系统引导程序,在Windows7系统中是不会显示出来的,在WinPE中才会显示出来。右键点击磁盘“C:”,选择“更改驱动器号和路径”,然后再弹出的新窗口中将其驱动器号改为“B”,紧接着将刚才装好系统的分区(正常情况现在应该是磁盘“D:”)以同样的方式改变其驱动器号为“C”。这样一来,磁盘“C:”就是我们刚才装好系统的那个分区了,然后右键点击装有系统的磁盘“C:”选择“格式化”。格式化完成后,我们运行极致精简版Windows7的安装程序,该程序会自动将文件解压到磁盘“C:”,解压完成后重新启动计算机,就会开始极致精简版Windows7的安装。安装完成后我们发现实际C盘占用空间在1.26GB左右,并且能够正常安装驱动,也能够开启Aero。 系统装好了之后,安装好所有设备的驱动程序,接着就是安装内存虚拟硬盘的FiraDisk驱动。首先进入设备管理器,在硬件设备列表的最上面一栏点击右键,选择“添加过时硬件”,然后点击“手动从列表选择硬件”,定位到FiraDisk文件夹的FiraDisk.inf文件即可将名为“FiraDisk Virtual DiskEnumerator”的磁盘控制器安装到系统中。 然后,要进行系统启动信息的修改,否则bootmgr就会发现磁盘大小发生了改动,导致启动时出现Winload.exe错误,系统无法直接从内存成功启动。修改的方法很简单:以管理员身份运行“开始—所有程序—附件”中的“命令提示符”程序,分别输入“bcdedit /set {default} osdeviceboot”、“bcdedit /set {default} deviceboot”和“bcdedit /set {default} detecthal 1”这三条命令,每输入一条命令就会车一次,系统会提示程序执行完成。到这里,系统启动信息的修改就算是完成了,接下来我们就要加入启动选项菜单。 首先把Grub4dos解压到C盘并将文件夹改名为“grub”,然后将“grub”文件夹中的grldr和grldr.mbr两个文件复制到C盘根目录,接着在“命令提示符”界面中输入“bcdedit /create /d \"Grub\" /applicationbootsector”后回车,此时系统会返回一长串字符,我们这里返回的是“{4bc205f9-d2d6-11e0-a1b9-9116d6c33702}”,然后我们继续在“命令提示符”界面中分别输入“bcdedit /set{4bc205f9-d2d6-11e0-a1b9-9116d6c33702} devicepartition=c:”、“bcdedit /set{4bc205f9-d2d6-11e0-a1b9-9116d6c33702} path\\grldr.mbr”、“bcdedit /displayorder{4bc205f9-d2d6-11e0-a1b9-9116d6c33702} /addlast”三条命令(对于不同的系统返回的字符并不一样,在后面的命令中也要将“{}”中的字符改为对应的),每输入一条命令就会车一次,系统会提示程序执行完成。 进行到这一步,可以说我们在Windows7系统中的修改操作都已经全部完成,[win7旗舰版系统下载]然后我们重新启动到WinPE系统中。运行VDM,在极致精简版Windows7的系统盘(在WinPE系统中显示为D盘)创建一个名为“Ramwin7.img”大小为2GB的镜像,接着将这个2GB的镜像加载到系统中,此时系统会出现一个大小为2GB的磁盘“A:”,点击磁盘“A:”,选择格式化磁盘“A:”,然后将D盘中除“System Volume Information”、“RECYCLER”和“Ramwin7.img”之外的所有文件和文件夹全部复制到磁盘“A:”中,就完成了镜像的制作。 接下来就是修改二级启动菜单了,用写字板将D盘中“grub”文件夹下的“menu.lst”文件打开,在最后写上以下6行代码: title Ramwin7 find --set-root /Ramwin7.img map --mem /Ramwin7.img (hd0) map (hd0) (hd1) map --hook chainloader (hd0,0)/bootmgr 到这里全部工作就完成了,重新启动计算机,在启动选择菜单中选择“grub”,等20来秒钟就自动进入内存版Windows7了。由于我们使用的极致精简版Windows7为32位版本,此时内存版Windows7占用了2GB,还剩下1.46GB内存可用。这时的Windows7系统运行速度确实非常快,不过极致精简也带来了很多问题:由于过于精简,系统只能运行Office、IE等少数应用程序,PCMark7、SiSoftware Sandra 2011均无法正常运行,包括《天堂2.5》在内的各种游戏也无法正常加载。 2.在内存中安装Windows XP 由于极致精简版Windows7安装在内存中之后有很多软件都不能正常使用,因此我们改为在内存中安装Windows XP系统。相对于在内存中安装Windows7,安装内存版Windows XP简单得多,安装好系统、驱动程序和应用软件之后,可以删除掉一些不用的部件以精简系统。然后在FiraDisk文件夹下右键点击FiraDisk.inf文件,选择“安装”,系统会自动重启并开始安装FiraDisk Virtual DiskEnumerator的驱动程序,手动定位到FiraDisk文件夹就能把FiraDisk Virtual DiskEnumerator磁盘控制器装好。 接下来需要手动改变系统盘的盘符,否则无法正常启动到内存版Windows XP,点击“开始—运行”,输入“regedit”在“[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]”中将“\DosDevices\C:”重命名为“\DosDevices\B:”,这样当我们启动到内存版Windows XP系统时,原来的C盘就会变成B盘,而内存版Windows XP的系统盘会被自动分配为C盘。 修改完成后,重启计算机进入WinPE系统,和前面介绍的一样运行VDM工具,在Windows XP的系统盘“C:”中建立一个名为“RamXP.img”大小为2GB的镜像,加载这个镜像,同样会出现A盘,和制作内存版Windows 7镜像一样将系统盘中除“System Volume Information”、“RECYCLER”和“RamXP.img”之外的所有文件和文件夹全部复制到磁盘“A:”中,就完成了镜像的制作。 工程师提示:要注意的是此时boot.ini文件中系统分区的路径必须是“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS”。 和前面制作内存版Windows7一样,把Grub4dos解压到C盘并将文件夹改名为“grub”,然后将“grub”文件夹中的grldr文件复制到C盘根目录,编辑boot.ini文件,在最后另起一行输入“c:\\grldr=\"GRUB\"”。最后,同样是用写字板将C盘中“grub”文件夹下的“menu.lst”文件打开,在最后写上以下6行代码: title RamXP find --set-root /RamXP.img map --mem /RamXP.img (hd0) map (hd0) (hd1) map --hook chainloader (hd0,0)/ntldr 全部完成后,重启计算机,在启动菜单中选择“Grub”,然后在Grub的菜单中选择RamOS。大约10秒钟以后就能进入内存版Windows XP系统了。同样的,由于64位Windows XP的兼容性不好,我们安装的依然是32位的Windows XP,此时内存版Windows XP占用了2GB,系统还有1.46GB内存可用,系统性能明显大幅度提升,运转如飞。由于Windows XP系统本身就不大,在安装并适度精简后,还可以装下相当多的应用程序,而且这些应用程序都可以正常使用,可玩性比内存版的Windows7要高一些。 方案三:将内存虚拟成硬盘 有很多内存较大的用户都有过将部分内存虚拟成硬盘的想法,将内存虚拟成硬盘是最容易实现的大内存应用方案。我们采用VSuite Ramdisk这款软件来实现大内存的硬盘虚拟。 这类软件都是通过独特的算法,将内存虚拟成硬盘,使得对硬盘文件的数据读写转化为对内存的数据访问,大幅提高数据的访问速度,这对于频繁通过网络交换大容量文件的用户尤其有帮助。由于内存具有断电数据消失的特性,用于存放临时文件时最好不过的。而且VSuite Ramdisk提供镜像功能,支持关机时自动保存数据到镜像文件以及开机时自动从镜像文件加载数据到虚拟硬盘,可以避免原来那些内存虚拟硬盘软件造成数据在关机时丢失的问题。而且VSuite Ramdisk还具有检测和利用系统未识别内存的功能,可以解决32位Windows操作系统无法完全使用4GB或更多内存的问题。 我们在64位Windows7系统中开启最大4GB的虚拟硬盘,然后将系统的交换文件设置到虚拟硬盘中,同时将《天堂2.5》安装到虚拟硬盘中,在这种模式下我们可以看到,对虚拟硬盘来说磁盘读写性能是有巨大提升的,但是对整个系统来说,我们的测试结果显示除了加载安装在虚拟硬盘中的程序时速度提升明显之外,整个系统性能并没有出现大的改观。 方案四:将内存虚拟成磁盘缓存 从Windows98时代起,很多玩家就乐此不疲地修改注册表中的硬盘缓存项,以此来获得更高的硬盘性能,现在很多硬盘的缓存都达到了64MB,不过对于疯狂追求性能的用户来说,64MB的硬盘缓存完全不够用。当我们的内存达到16GB的时候,我们就可以考虑将内存虚拟成硬盘缓存来使用了。我们采用FancyCache这款将系统内存虚拟成硬盘缓存的软件来进行测试。 FancyCache它把从硬盘中读取的数据存入系统内存或闪存,使系统在下次访问该数据时可以很快从内存读取,而且FancyCache还支持将其他磁盘虚拟给硬盘作为二级缓存,因此我们在测试中测试了两种方案。第一种是单纯将4GB内存作为硬盘的缓存,第二种是在第一种方案的前提下,再将4GB内存虚拟成硬盘,将这个内存虚拟的硬盘作为主硬盘的二级缓存。 可以看到在64位Windows7系统中,打开内存虚拟硬盘缓存带来的性能提升是非常巨大的,PCMark7的系统得分甚至一跃突破了5100分,而我们知道Futuremark在官方说明中曾表示他们的目标是将由Core i7-980X六核心处理器、GeForce GTX 580显卡、美光Crucial C300固态硬盘组成的高端系统的成绩控制在5000分左右。在不要固态硬盘的前提下,只不过是Core i7 2600K、GeForce GTX 560Ti、希捷7200.12 1TB硬盘的系统就超越了5000分,让我们看到了大硬盘缓存带来的飞速性能提升,而这才是我们最希望得到的结果。 在HDTune的随机读写测试中,我们也可以看到大缓存带来的非常明显的改变,4KB的随机读写性能,第一次只有59IOPS,和普通硬盘的速度差别不大,但是紧接着进行第二次测试,大缓存的优势就表现出来了,其4KB随机读写性能达到了151263IOPS,比目前性能最高的固态硬盘还高出一倍左右! 大内存应用方案性能测试表 | 项目
| 16GB内存+Windows7 X64
| 内存版Windows7
| 16GB内存+Windows XP
| 内存版Windows XP
| 12GB内存+4GB虚拟硬盘Windows 7 X64
| 12GB内存+4GB硬盘缓存Windows 7 X64
| 8GB内存+4GB硬盘缓存+4GB硬盘二级缓存Windows7 X64
| PCMark7
| 总分
| 3495
| N/A
| N/A
| N/A
| 3451
| 5110
| 5159
| 轻量级
| 2685
| N/A
| N/A
| N/A
| 2581
| 5499
| 5539
| 生产力
| 2281
| N/A
| N/A
| N/A
| 2261
| 5495
| 5429
| 创作
| 3727
| N/A
| N/A
| N/A
| 3527
| 5187
| 5277
| 娱乐
| 4292
| N/A
| N/A
| N/A
| 4372
| 5097
| 5106
| 计算
| 4295
| N/A
| N/A
| N/A
| 4948
| 5053
| 5053
| 存储
| 2071
| N/A
| N/A
| N/A
| 1979
| 5555
| 5603
| SiSoftware Sandra
| 磁盘索引速度
| 108.931MB/s
| N/A
| 104.26MB/s
| 7.75GB/s
| 5.62GB/s
| 105.9MB/s
| 107.3MB/s
| 随机存取时间
| 3.23ms
| N/A
| 7.76ms
| 0μs
| 2μs
| 3.21μs
| 1.8ms
| 带缓存读取速度
| 210.27MB/s
| N/A
| 217.57MB/s
| 9.85GB/s
| 8GB/s
| 9.19GB/s
| 9.5GB/s
| 顺序读取速度
| 126MB/s
| N/A
| 129.42MB/s
| 7.24GB/s
| 5.44GB/s
| 122.6MB/s
| 126.24MB/s
| 随机读取速度
| 89.54MB/s
| N/A
| 64.57MB/s
| 7.25GB/s
| 5.39GB/s
| 87.79MB/s
| 88.37MB/s
| 带缓存写入速度
| 71.3MB/s
| N/A
| 138MB/s
| 9.83GB/s
| 7.23GB/s
| 123.65MB/s
| 124.38MB/s
| 顺序写入速度
| 98.83MB/s
| N/A
| 125.9MB/s
| 9.84GB/s
| 6.42GB/s
| 124.36MB/s
| 129.26
| 随机写入速度
| 99.24MB/s
| N/A
| 79.64MB/s
| 9.65GB/s
| 6.46GB/s
| 55MB/s
| 57.25MB/s
| HD Tune
| 最低读取速度
| 66.8MB/s
| 1517.8MB/s
| 21.7MB/s
| 3421.0MB/s
| 4646.6MB/s
| 66.8MB/s
| 66.8MB/s
| 最高读取速度
| 130.7MB/s
| 2071.0MB/s
| 130.2MB/s
| 3767.9MB/s
| 7001.7MB/s
| 130.7MB/s
| 130.7MB/s
| 平均读取速度
| 105.2MB/s
| 1880.2MB/s
| 105.6MB/s
| 3674.8MB/s
| 6584.7MB/s
| 105.1MB/s
| 105.2MB/s
| 存取时间
| 17.7ms
| 0.025ms
| 16.3ms
| 0.006ms
| 0.003ms
| 16.1ms
| 16.1ms
| 突发读取速度
| 154.8MB/s
| 1979.5MB/s
| 221.7MB/s
| 5575.1MB/s
| 8331.6MB/s
| 4628.6MB/s
| 4654.2MB/s
| 《天堂2.5》载入时间
| 42.8s
| N/A
| N/A
| N/A
| 21.6s
| 40.2s/21.4s
| 27.2s/20.1s
| 系统启动时间
| 27.6s
| 20.4s
| 16.7s
| 10.2s
| 24.5s
| 23.3
| 24.1s
| 系统关闭时间
| 10.7s
| 3.3s
| 9.7s
| 5.7s
| 9.6s
| 9.3s
| 9.7s
|
工程师总结 内存版系统还不成熟 将操作系统和常用软件安装在内存中当然是能够非常大地提升系统的性能和响应速度。不过由于目前内存版系统的引导程序最高只能支持到2GB的系统镜像,因此要想安装内存版Windows系统就必须对系统进行精简。Windows XP系统还好,并不需要过分精简,不会影响使用,只是没有办法在内存系统中安装大型软件。而Windows7系统则需要进行非常大幅度的精简,这种精简已经让系统变得兼容性相当差,很多程序都无法正常运行。鉴于这种情况,我们认为目前来看,把系统装到内存中打造飞速的内存版系统的方案还不成熟,建议大家最好不要考虑。等到将来内存版系统的引导程序至少能够支持8GB~12GB的镜像的时候,在考虑安装内存版Windows也不迟。 内存虚拟缓存最高效 纵观这几种方案,我们可以发现对于提高整个系统的性能来说,将内存虚拟成硬盘缓存是效果最好的,不仅大幅提升了随机访问数据的性能,而且对于整个系统的运行的速度也有一定的提升。其实对于整个硬盘来说,虚拟缓存的容量并不一定要达到4GB那么多,1GB甚至几百MB也能给系统性能带来明显的提升。这种方案对于配备了4GB内存又安装32位操作系统的用户来说也是非常适合的,由于FancyCache这款软件能够识别出系统未利用到的内存,既不会影响32位系统本身的内存容量,又能带来系统性能的提升。当然,如果内存够大,我们建议可以将部分内存虚拟成关机也不会丢失的内容的硬盘,将游戏、常用大型软件以及临时文件夹放在其中,对系统性能也是有一定程度的提升的。 |