内存越大,机器越快?我想大多数人的回答都是肯定,从512MB到1GB的提升很明显,所以想当然,从1GB到2GB提升也会很明显吧。但是我用亲身经历告诉你,大内存或许比小内存还要慢,当然,前提是你什么都不设置。
前几天我把我的Compaq N410c扩展到了1GB内存,2×512MB,结果扩展之后发现机器不但还跟原来一样有点卡,而且休眠时间变长了。这是肯定的啦,休眠就是把内存里的东西拷贝到硬盘上,内存越大,休眠时间肯定越长了,这让我很郁闷,难道我花了钱升级我的机器,反而比原来更慢了。我用memstate这个软件实时监测我的内存情况,发现一直都有600多兆的空余内存,这说明机器的内存是非常够用的,甚至很多都在被浪费着,可是机器为啥还是这么慢呢?于是我到google上找原因,结果发现已经有很多人发现这个问题了,并且已经有了权威的解释,这里我把关键的部分摘抄出来,并结合自己的使用心得与大家分享。注:这里的修改以及使用方法均针对XP系统。
现在请打开注册表编辑器,找到[HKEY_LOCAL_MACHINESystemCurrentControlSetControl Session ManagerMomoryManagement],在右侧窗格修改一下键值(要注意的是,做一下设置的前提是内存最好超过512MB,并仅限于 Windows 2000/XP)。
(1)"LargeSystemCache"(启动大的系统缓存):在内存中开辟一块大的内存空间用于磁盘文件系统的预读取操作。当程序连续请求的数据增加时,Windows通过系统缓存自动预读,使程序能以最快速度获取所需数据。由于启用这个系统缓冲会占用较多的物理内存,使得能被程序利用的可用物理内存减少。将其值设为1.这样,系统缓存从4MB增加到8MB.
(2)"SecondLevelDataCache"(提高cpu性能):CPU的处理速度要远远大于内存的存取速度,而内存又要比硬盘快得多。这样 CPU与内存之间,内存与磁盘之间就形成了影响性能的瓶颈效应,前面的"LargeSystemCache"是为了缓解内存与磁盘瓶颈而设计的,而CPU 为了能够迅速从内存获取处理数据也设置了一种缓冲机制L2 Cache(二级缓存)。调整这个键值能够使Windows更好地配合CPU利用该缓存机制获得更高的数据预读取命中率。建议将其设置为512.
(3)DisablePagingExecutive(禁用页面文件):将其值改为1(十六进制),这样将使所有程序和数据强制性限定在物理内存中运行,而不是使用虚拟内存。很明显,当有足够多的物理内存来完成所需任务时,这样做必使系统性能得到巨大的提升。
(4)"IOPageLockLimit"(定制输入/输出缓冲尺寸):输入输出系统是设备和微处理器之间传输数据的通道,当扩大其缓冲尺寸时数据传递将更为流畅。同理,具体设置多大的尺寸要视物理内存的大小和运行任务多少来决定,如果有更多内存,完全可以将其设为10000(64MB)甚至更多。当设为 0时,Windows将自动配置。设置这些之后,重启系统即可。其实修改这些的效果并不是很明显,不过心理上总有个安慰吧,下面的才是让你感到质的飞跃的地方。
这里要向大家介绍一个软件,RAMDisk Plus,这个软件就是把内存的一部分划分出来作为一个磁盘分区用的,你可以把一些临时文件夹转移到这个分区上,比如IE的临时文件夹,这样会大大提升你浏览网页的速度。内存的传输速度和硬盘的传输速度的差距我想大家都清楚吧,用内存的一部分作硬盘相当于添加了一个万转的硬盘,速度的提升可想而知。这个是我的亲身体会,我把我的内存中的100MB划出来作为一个分区,然后把IE的临时文件夹挪到上面,重启之后,打开网页就是一瞬间,以前即便是在网速很好的半夜,也没有这么快的,看来很多时候网速不是瓶颈,机器才是瓶颈啊,尤其是那些图片较多,需要缓存的网页,大家可以试试。划出这100MB内存之后,我现在的正常可用内存还保持在500MB以上,好在RAMDISK plus可以添加多个分区,我可以再划出来几个分区,然后把一些常用程序放进去,这样运行起来肯定也快多了。
不过记住,内存掉电后里面东西就都没了,但是还好,Ramdisk plus提供了关机自动保存的选项,也就是关机的时候可以把虚拟硬盘分区中的东西保存到实际硬盘分区中你指定的地方,然后开机的时候再load回来,跟休眠的道理差不多啦,只是这样就会导致关机时间和开机时间变得很长,所以我建议只在虚拟硬盘分区上放临时文件,反正临时文件迟早是要被清空的,放到 ramdisk上还省去了手动清空的麻烦。