ui设计师工作经历描述:虚拟内存的问题
内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。下面,就让我们一起来看看如何对虚拟内存进行设置吧。
虚拟内存的设置
对于虚拟内存主要设置两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的Windows安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。
找出最合适的范围值后,在设置虚拟内存时,用鼠标右键点击“我的电脑”,选择“属性”,弹出系统属性窗口,选择“性能”标签,点击下面“虚拟内存”按钮,弹出虚拟内存设置窗口,点击“用户自己指定虚拟内存设置”单选按钮,“硬盘”选较大剩余空间的分区,然后在“最小值”和“最大值”文本框中输入合适的范围值。如果您感觉使用系统监视器来获得最大和最小值有些麻烦的话,这里完全可以选择“让Windows管理虚拟内存设置”。
调整分页位置
Windows 9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.ini(C:\Windows下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin386.swp”,改为其他分区的路径,如将交换文件放在D:中,则改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。
而对于使用Windows 2000和Windows XP的,可以选择“控制面板→系统→高级→性能”中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区。
或者,WinXP一般要求物理内存在256M以上。如果你喜欢玩大型3D游戏,而内存(包括显存)又不够大,系统会经常提示说虚拟内存不够,系统会自动调整(虚拟内存设置为系统管理)。
如果你的硬盘空间够大,你也可以自己设置虚拟内存,具体步骤如下:右键单击“我的电脑”→属性→高级→性能 设置→高级→虚拟内存 更改→选择虚拟内存(页面文件)存放的分区→自定义大小→确定最大值和最小值→设置。一般来说,虚拟内存为物理内存的1.5倍,稍大一点也可以,如果你不想虚拟内存频繁改动,可以将最大值和最小值设置为一样。
44》虚拟内存使用技巧
对于虚拟内存如何设置的问题,微软已经给我们提供了官方的解决办法,对于一般情况下,我们推荐采用如下的设置方法:
(1)在Windows系统所在分区设置页面文件,文件的大小由你对系统的设置决定。具体设置方法如下:打开"我的电脑"的"属性"设置窗口,切换到"高级"选项卡,在"启动和故障恢复"窗口的"写入调试信息"栏,如果你采用的是"无",则将页面文件大小设置为2MB左右,如果采用"核心内存存储"和"完全内存存储",则将页面文件值设置得大一些,跟物理内存差不多就可以了。
小提示:对于系统分区是否设置页面文件,这里有一个矛盾:如果设置,则系统有可能会频繁读取这部分页面文件,从而加大系统盘所在磁道的负荷,但如果不设置,当系统出现蓝屏死机(特别是STOP错误)的时候,无法创建转储文件 (Memory.dmp),从而无法进行程序调试和错误报告了。所以折中的办法是在系统盘设置较小的页面文件,只要够用就行了。
(2)单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。之所以单独划分一个分区用来设置虚拟内存,主要是基于两点考虑:其一,由于该分区上没有其它文件,这样分区不会产生磁盘碎片,这样能保证页面文件的数据读写不受磁盘碎片的干扰;其二,按照Windows对内存的管理技术,Windows会优先使用不经常访问的分区上的
页面文件,这样也减少了读取系统盘里的页面文件的机会,减轻了系统盘的压力。
(3)其它硬盘分区不设置任何页面文件。当然,如果你有多个硬盘,则可以为每个硬盘都创建一个页面文件。当信息分布在多个页面文件上时,硬盘控制器可以同时在多个硬盘上执行读取和写入操作。这样系统性能将得到提高。
小提示:
允许设置的虚拟内存最小值为2MB,最大值不能超过当前硬盘的剩余空间值,同时也不能超过32位操作系统的内存寻址范围——4GB。
甲方:我在Windows XP操作系统中运行一款3D游戏时,却突然看到系统托盘区中弹出“虚拟内存不足”这样的提示。联想到以前也曾出现过此种问题,我该如何去解决呢?
乙方:虚拟内存是将一部分硬盘空间来充当内存使用,虽然硬盘的运行速度不能与内存相比,可是容量却要比内存的容量高出许多。其作用在于可将一些读取到内存中却暂时不用的数据转移到虚拟内存中,这样便可释放出内存的空间,将有限的内存空间去继续存放未被读取的数据。
当出现虚拟内存不足的提示时,若不加以解决,那么便会影响到系统运转的效率。此时将虚拟内存的初始值和最大值设置为同一值,这样就可以大大提高系统的性能。
丙方:乙方所说的解决方法有误。这是因为如果将虚拟内存的初始值和最大值都设为两个相同的数值,那么在初始页面文件很大的情况下,也许正好会读取内存中一个容量较小的数据文件,这样它在虚拟内存中所占比例就越低,执行的速度也就越慢。而如果虚拟内存的初始页面很少,那么当数据超过初始页面文件的容量时,就会自动溢出到最大页面文件,但由于最大页面文件的容量与初始页面文件的容量相同,这样发生内存溢出的错误也在所难免了。
所以我们在设置虚拟内存大小时,应当将初始页面文件设得较小的容量,这样才能在内存中尽可能地存储更多数据,使其效率提高,同时也应提高最大页面文件的容量,防止“虚拟内存不足”的提示再次出现。
以上所述的是设置虚拟内存的基本原则,而若是要设定具体的虚拟内存容量大小,那么不妨采用下面两种方法:
第一种方法比较简单。
依次点击系统菜单“开始→控制面板”,在“控制面板”窗口中双击“系统”组件,单击窗口上的“高级”选项卡,在“性能”区域中的单击“设置”按钮。在打开的对话框中点击“高级”选项卡,单击“虚拟内存”区域中的“更改”按钮以进入虚拟内存设置窗口。
在窗口的“驱动器”栏目中选中分区盘符。由于硬盘读取数据是靠磁头在磁性物质上读取,而系统盘中有许多系统文件,若虚拟内存的页面文件也位于系统盘上,页面文件必然不连续,磁头来回读取就会影响系统性能,所以我们可将虚拟内存文件设定在一个非系统分区的单独分区中。
然后在“所选驱动器的页面文件大小”区域中点选“自定义大小”选项,分别在“初始大小”、“最大值”栏目中填入相应的数值即可。
根据微软公司的建议,虚拟内存交换文件最小值应设为内存容量的1.5倍,不过若内存容量是512MB甚至1GB,那么它所占用的空间肯定也不少。因此当内存总容量在256MB以下,就将虚拟内存的最小值设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的就设为与内存容量的相同值。
第二种虚拟内存的设置方法略嫌复杂,不过针对性更强。
首先运行电脑中经常使用的应用程序,然后打开“Windows任务管理器”窗口。单击窗口“性能”选项卡,在出现的页面中可显示出“物理内存”和“认可用量”。其中“物理内存”的“可用数”若小于物理内存的实际容量,则表示当前的物理内存够用。而倘若“认可用量”区域中所显示的“总数”、“峰值”等数值都超过了虚拟内存现有的容量大小,那么此时就可进入虚拟内存设置窗口,将虚拟内存的“初始大小”值与“总数”、“峰值”数值相近的容量即可。