如何设置Windows的虚拟内存
(yanlb2000, 2005.11.24, yanlb2000.blogcn.com)
自打用上Windows,我们就经常会接触到这个术语:虚拟内存。简言之,虚拟内存,就是将硬盘空间虚拟为系统的可用内存,从而使操作系统和应用软件得到比实际安装的物理内存更多的内存空间,使系统能同时运行更多的软件,或运行更大型的软件。虚拟内存设置是否恰当,直接关系到系统的运行效能。
一般来说,Windows自己就能比较好地管理虚拟内存,不需要我们费心。但是,在有些情况下,Windows的管理策略并不是最好的,需要我们手工调整,以取得更好的效果。
如何手动调整虚拟内存设置?很简单:
“我的电脑”右键、属性、“高级”、“性能”“设置”、“性能选项”“高级”、“虚拟内存”“更改”,在这里就可以修改系统在哪个分区上建立虚拟内存(或称“页面文件”),以及具体的大小。可以同时在多个分区上建立页面文件。设置完毕,别忘了点击按钮“设置”,否则就不会生效的,等于没改。
关于设置虚拟内存,我觉得有3个经典问题可以跟大家探讨。
一、 如果虚拟内存很大,那是否可以禁用虚拟内存?
有的人说,我的电脑内存很多,比如有1G,那是不是可以禁用虚拟内存,让全部运算都在物理内存中进行,从而电脑会更快?而且也节约了硬盘空间。
我认为,这是不正确的。虚拟内存,是现代操作系统的基本特征之一,很多操作系统的特性、很多软件的运行,都需要虚拟内存的支持,而不管系统物理内存是否足够。比如Windows下禁用虚拟内存之后,有些软件的运行就会表现不正常,出现频频报虚拟内存不够等情况,即使当时物理内存还远未耗尽。其实,大物理内存之下,是否禁用虚拟内存,对运行速度基本没影响。对于几十上百GB的硬盘,我们也不必在乎页面文件占用的一点空间。
二、虚拟内存该设置多大?
这也算个经典问题,且有个经典答案:将虚拟内存设置为物理内存大小的1-1.5倍。
这个解答,只能说是基本如此,但还有很多商榷的地方,决不可奉为圭臬,完全照办。准确地说,对于主流配置的电脑,运行当时主流的操作系统版本,可以这么做。而对于非主流的情况,就不是这样了。
举个例子。目前一台主流配置的电脑,有512MB内存,安装主流的Windows XP操作系统,那么将虚拟内存设置为物理内存的1-1.5倍,是合适的,能满足大多数应用的需要了。但是,如果安装的是以前的Windows 2000甚至Windows NT系统,那么虚拟内存设置为512MB甚至更少,也完全可以。而如果要偿新,安装Vista这样的更新的需要大量内存的系统,那可能设置1G的虚拟内存还不够呢。
再举个极端点的例子,假设不同时期配置的两台电脑,一台只有128MB内存,另一台具备1GB内存,都要安装WindowsXP。那么安装1-1.5倍的理论,第一台电脑物理内存加上虚拟内存,可能刚刚够操作系统自己运行的,再开几个软件,可能就内存不足了。而那台大内存的电脑,开设了1GB以上的虚拟内存,可以知道,绝大多数情况下,根本用不了这么多虚拟内存。这是典型的贫者愈贫,富者愈富。
所以,要根据电脑配置和要安装的操作系统的实际情况,来决定虚拟内存的大小。电脑配置比较落后了,安装较新的操作系统,那么因为对内存需求超过了机器的配置,所以最好多设置点虚拟内存。反过来,配置高档,有较多物理内存的电脑,则可适当减少些虚拟内存大小。
或者换个说法,如何判断虚拟内存大小是否合适?很简单,只要看你电脑运行时候,是否出现虚拟内存不够的出错信息。如果有,那就是太小了,适当加大。如果一直没有,那就是足够了,甚至你还可以减少点,当然前提是不要出现虚拟内存不足的提示。
三、如何设置虚拟内存,使系统运行更快?
这个问题,才是我这里重点介绍的。而一般的网上文章,都仅仅介绍如何设置虚拟内存,设置多大,但都没有谈及这个问题。
我的意见是,应该让系统以最快的速度访问虚拟内存,才是最有效的设置方法(废话?)。现在有些电脑,特别是从就系统升级来的电脑,都有不止一块硬盘,这种情况,是最有潜力可挖的。以下情况,都假设系统有多于一块的硬盘:
·如果你多个硬盘装在不同的硬盘通道上,那么将页面文件和操作系统分置于不同通道上的硬盘,效果会更好。不同的通道,指系统中的多个IDE ATA接口、SATA接口、SCSI接口等。
·将页面文件设置在速度最快的那块硬盘上。一般说,转速(5400rpm/7200rpm等)快的硬盘速度就快。或者,你的最新的硬盘,容量最大的硬盘,往往也就是最快的硬盘;
·将页面文件设置在不同于操作系统所在的硬盘上(是不同的硬盘,不是不同的分区);
以上各点,都是为了使运行时,让软件运行和访问虚拟内存能更多地“并发”访问,达到最快速度。而且,优先级是从高到低的。即,如果适合第一种情况,就应该优先采用第一种做法。
当然,以上各点,有的还是有矛盾的,无法同时满足。比如,你的操作系统往往就安装在系统中最快的硬盘上,那把页面文件也设置在这个最快的硬盘上,还是放在另一个较慢的硬盘上呢?这个,我也说不准了,只能说具体情况千差万别,没有固定的答案。如果你想取得最好效果,那还是自己各种设置都试试,测试一下,看那种设置最好。
那如果电脑中只装了一块硬盘,又如何设置呢?这样的话,无论把页面文件设置在哪个分区上,效果都是差不多的。
另外,时刻保持页面文件在硬盘上的连续性,对提高访问速度也有帮助。但因为操作系统运行的时候,页面文件是锁定的,无法进行碎片整理。Windows自己带的碎片整理工具,会忽略被锁定的文件,不整理的。这时,可以借助第三方软件提供的工具来完成。比如,来自sysinternals.com的PageDefrag(http://www.sysinternals.com/Utilities/PageDefrag.html ),就是专门整理被锁定的页面文件、注册表文件的。它会在系统下次启动时候,在未进入Windows界面前运行,整理这些文件,消除碎片。