一台电脑上装了多少内存是在硬件上是确定了的,但我们平常使用的软件对内存数量的需求却有不同,怎样控制内存的大小以满足软件的需要,将是本文下面谈及的内容。
面对功能日益强大,而体积也日渐庞大的软件,内存当然是越大越好,要是内存的数量达不到软件所要求的最小值,那么就不能运行了。幸好有Windows这样一个优秀的操作系统,当内存不足时,它会自动用硬盘虚拟,举一个例子,要是你的机器只有16M内存,而你却在DOS下使用街机模拟器callus时,你会现其中大部份的游戏都不能运行,因为它们大多数都要求32M甚至48M的内存;但是如果你在Win95的MS-DOS方式中运行它,就一定不会有“Not enongh memory”的问题,不过任何事情总有例外的时候,你玩过另一款街机模拟器——NeoGeo模拟器吗?这个模拟器要求系统有64M的内存,即使你拥有48M的内存,在Win95的MS-DOS方式中仍然无法运行它。不过办法总是有的,并且也非常简单,看好了:首先,用鼠标右击MS-DOS方式的图标,在弹出的菜单中选择“属性”,出现属性窗口后点击“内存”,看到“MS-DOS保护模式(DPMI)内存”一项了吗?在“总共”后面的方框中填入“65535”,然后确定。现在你进入这个MS-DOS方式,用mem/c/p命令查看一下,将会发现有64M的内存,运行KOF97试试怎样,它没有告诉你内存不足了吧!要注意的是在进行上述步骤前必须关闭所有MS-DOS窗口,并且填入的数字不能大于65535。(不要那么贪心哦,想要128M内存吗?自己掏钱买吧!)。
上面说完了怎样“增大”内存,下面该说说如何“减少”内存了。也许有人会说:“内存不是越大越好吗”大家都嫌内存太少,哪有像你那样嫌多的,你是不是脑子有问题?”不,这是软件的需要。略懂计算机的人都知道,计算机中定义的二进制整数有两种,一种是一般的整数,另一种是无符号整数。无符号整数可以用尽所有的位来表示数字;而一般整数则使用最高一位来表示符号,0表示正,1表示负,通常软件运行时都会检测内存的容量是否足够,有些软件判断内存的容量时,会把内存的数值当作一般整数来判断,当你的机器拥有的内存数量多得令最高一位数字变成1时,这些软件就会判断出内存的数量是一个负数,从而停止运行。过去《仙剑》就是一个很好的例子,当内存大于32M时,它会显示XMS等于一个负数,并拒绝运行。遇到这种情况怎么办呢?拔下部分内存吗?啊!抗议!我的可是一条64M哦。别急,我这里有两个解决办法。第一个是“屏蔽”大法。打开Config.sys,在其中“device=c:\目录名\himem.sys”一句后面加上参数/int15=xxx,xxx表示你需要屏蔽的内存数量,单位为K,比如你想屏蔽掉32M内存,可以填入 “32768”,然后存盘退出即可。重启后用mem/c/p查看,程序会报告你屏蔽的那部分内存已被使用,可用的内存数量只剩下你需要的那部分。第二个办法是“按需分配法”,利用Windows来分配内存。仍然后右击MS-DOS方式的图标,进入属性窗口中的内存选项。找到“扩展内存XMS”一项,填入你要限制Windows分配给MS-DOS方式的内存量,按下“确定”就OK。
好吧,该讲的都讲完了,快去试一下以前因为内存问题而运行不了的软件吧,说不定会有惊喜的。