欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

如何控制内存的大小

程序员文章站 2022-03-17 15:43:52
如何控制内存的大小  一台电脑上装了多少内存是在硬件上是确定了的,但我们平常使用的软件对内存数量的需求却有不同,怎样控制内存的大小以满足软件的需要,将是本文下面谈及的内容。  面对功能日益... 10-09-08...



  一台电脑上装了多少内存是在硬件上是确定了的,但我们平常使用的软件对内存数量的需求却有不同,怎样控制内存的大小以满足软件的需要,将是本文下面谈及的内容。
  面对功能日益强大,而体积也日渐庞大的软件,内存当然是越大越好,要是内存的数量达不到软件所要求的最小值,那么就不能运行了。幸好有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。
  好吧,该讲的都讲完了,快去试一下以前因为内存问题而运行不了的软件吧,说不定会有惊喜的。