虚拟内存的设置误区
甲方:我在Windows XP操作系统中运行一款3D游戏时,却突然看到系统托盘区中弹出“虚拟内存不足”这样的提示。联想到以前也曾出现过此种问题,我该如何去解决呢?
乙方:虚拟内存是将一部分硬盘空间来充当内存使用,虽然硬盘的运行速度不能与内存相比,可是容量却要比内存的容量高出许多。其作用在于可将一些读取到内存中却暂时不用的数据转移到虚拟内存中,这样便可释放出内存的空间,将有限的内存空间去继续存放未被读取的数据。
当出现虚拟内存不足的提示时,若不加以解决,那么便会影响到系统运转的效率。此时将虚拟内存的初始值和最大值设置为同一值,这样就可以大大提高系统的性能。
丙方:乙方所说的解决方法有误。这是因为如果将虚拟内存的初始值和最大值都设为两个相同的数值,那么在初始页面文件很大的情况下,也许正好会读取内存中一个容量较小的数据文件,这样它在虚拟内存中所占比例就越低,执行的速度也就越慢。而如果虚拟内存的初始页面很少,那么当数据超过初始页面文件的容量时,就会自动溢出到最大页面文件,但由于最大页面文件的容量与初始页面文件的容量相同,这样发生内存溢出的错误也在所难免了。
所以我们在设置虚拟内存大小时,应当将初始页面文件设得较小的容量,这样才能在内存中尽可能地存储更多数据,使其效率提高,同时也应提高最大页面文件的容量,防止“虚拟内存不足”的提示再次出现。
以上所述的是设置虚拟内存的基本原则,而若是要设定具体的虚拟内存容量大小,那么不妨采用下面两种方法:
第一种方法比较简单。
依次点击系统菜单“开始→控制面板”,在“控制面板”窗口中双击“系统”组件,单击窗口上的“高级”选项卡,在“性能”区域中的单击“设置”按钮。在打开的对话框中点击“高级”选项卡,单击“虚拟内存”区域中的“更改”按钮以进入虚拟内存设置窗口。
在窗口的“驱动器”栏目中选中分区盘符。由于硬盘读取数据是靠磁头在磁性物质上读取,而系统盘中有许多系统文件,若虚拟内存的页面文件也位于系统盘上,页面文件必然不连续,磁头来回读取就会影响系统性能,所以我们可将虚拟内存文件设定在一个非系统分区的单独分区中。
然后在“所选驱动器的页面文件大小”区域中点选“自定义大小”选项,分别在“初始大小”、“最大值”栏目中填入相应的数值即可。
根据微软公司的建议,虚拟内存交换文件最小值应设为内存容量的1.5倍,不过若内存容量是512MB甚至1GB,那么它所占用的空间肯定也不少。因此当内存总容量在256MB以下,就将虚拟内存的最小值设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的就设为与内存容量的相同值。
第二种虚拟内存的设置方法略嫌复杂,不过针对性更强。
首先运行电脑中经常使用的应用程序,然后打开“Windows任务管理器”窗口。单击窗口“性能”选项卡,在出现的页面中可显示出“物理内存”和“认可用量”。其中“物理内存”的“可用数”若小于物理内存的实际容量,则表示当前的物理内存够用。而倘若“认可用量”区域中所显示的“总数”、“峰值”等数值都超过了虚拟内存现有的容量大小,那么此时就可进入虚拟内存设置窗口,将虚拟内存的“初始大小”值与“总数”、“峰值”数值相近的容量即可。
什么是虚拟内存
不知大家发现没有,在Windows 2000(XP)目录下有一个名为pagefile.sys的系统文件(Windows 98下为Win386.swp),它的大小经常自己发生变动,小的时候可能只有几十兆,大的时候则有数百兆,这种毫无规律的变化实在让很多人摸不着头脑。其实,pagefile.sys是Windows下的一个虚拟内存,它的作用与物理内存基本相似,但它是作为物理内存的“后备力量”而存在的,也就是说,只有在物理内存已经不够使用的时候,它才会发挥作用。
虚拟内存的产生
我们都知道,虽然在运行速度上硬盘不如内存,但在容量上内存是无法与硬盘相提并论的。当运行一个程序需要大量数据、占用大量内存时,内存就会被“塞满”,并将那些暂时不用的数据放到硬盘中,而这些数据所占的空间就是虚拟内存。现在我们也明白为什么pagefile.sys的大小会经常变化了。
虚拟内存的优化
虚拟内存的大小是由Windows来控制的,但这种默认的Windows设置并不是最佳的方案,因此我们要对其进行一些调整。这样才能发挥出系统的最佳性能。
1、改变页面文件的位置
其目的主要是为了保持虚拟内存的连续性。因为硬盘读取数据是靠磁头在磁性物质上读取,页面文件放在磁盘上的不同区域,磁头就要跳来跳去,自然不利于提高效率。而且系统盘文件众多,虚拟内存肯定不连续,因此要将其放到其他盘上。改变页面文件位置的方法是:用鼠标右键点击“我的电脑”,选择“属性→高级→性能设置→高级→更改虚拟内存”,在驱动器栏里选择想要改变到的位置(如图1)即可。值得注意的是,当移动好页面文件后,要将原来的文件删除(系统不会自动删除)。
图1 改变页面文件的位置
2、改变页面文件的大小
改变了页面文件的位置后,我们还可以对它的大小进行一些调整(如图2)。调整时我们需要注意,不要将最大、最小页面文件设为等值。因为通常内存不会真正“塞满”,它会在内存储量到达一定程度时,自动将一部分暂时不用的数据放到硬盘中。最小页面文件越大,所占比例就低,执行的速度也就越慢。最大页面文件是极限值,有时打开很多程序,内存和最小页面文件都已“塞满”,就会自动溢出到最大页面文件。所以将两者设为等值是不合理的。一般情况下,最小页面文件设得小些,这样能在内存中尽可能存储更多数据,效率就越高。最大页面文件设得大些,以免出现“满员”的情况。
图2 调整页面文件的大小
3、禁用页面文件
当拥有了512MB以上的内存时,页面文件的作用将不再明显,因此我们可以将其禁用。方法是:依次进入注册表编辑器“HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession Ma-nagerMemoryManagement”下,在“DisablePa-ging Executive”(禁用页面文件)选项中将其值设为“1”即可(如图3)。
图3 禁用页面文件
4、清空页面文件
在同一位置上有一个“ClearPageFileAtShutdown(关机时清除页面文件)”,将该值设为“1”(如图4)。这里所说的“清除”页面文件并非是指从硬盘上完全删除pagefile.sys文件,而是对其进行“清洗”和整理,从而为下次启动Windows XP时更好地利用虚拟内存做好准备。
图4 清空页面文件
叮当点评:本文较详细地讲解了虚拟内存的概念及优化方法。使我们了解了它在内存与硬盘之间的工作关系,同时认识到了虚拟内存并非越大越好,而应该根据计算机的具体配置进行合理的调整。相信大家在真正的了解并掌握了虚拟内存的作用与优化方法后,一定会使爱机在性能上有所提升。