虚拟内存是什么

我安装QQ三国的时候,电脑提示说虚拟内存太低,我不明白那是什么,怎样调整虚拟内存
最高值和最低值是多少,我的电脑是256的

什么是虚拟内存
虚拟内存是用硬盘空间做内存来弥补计算机RAM空间的缺乏。当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了。当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。

技术细节:对于英特尔 IA-32 处理器(包括 386、奔腾等)而言,用户应用程序(进程)访问内存时其内存地址是虚拟的,CPU 会将它转换为实际的物理内存地址。物理内存不够时,操作系统系统会将各个进程中一部分暂时不用的内存换出到页面文件(交换文件)中,并将需要访问内存的程序的内容从页面文件中换入到物理内存。

虚拟内存的作用
不知大家有没有发现,在Windows2000(XP)目录下有一个名为pagefile.sys的系统文件(Windows98下为Win386.swp),它的大小经常自己发生变动,小的时候可能只有几十兆,大的时候则有数百兆,这种毫无规律的变化实在让很多人摸不着头脑。其实,pagefile.sys是Windows下的一个虚拟内存,它的作用与物理内存基本相似,但它是作为物理内存的“后备力量”而存在的,也就是说,只有在物理内存已经不够使用的时候,它才会发挥作用。

虚拟内存的产生
我们都知道,虽然在运行速度上硬盘不如内存,但在容量上内存是无法与硬盘相提并论的。当运行一个程序需要大量数据、占用大量内存时,内存就会被“塞满”,并将那些暂时不用的数据放到硬盘中,而这些数据所占的空间就是虚拟内存。现在我们也明白为什么pagefile.sys的大小会经常变化了。

内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序分配的内存的总量走过了内存大小,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。

举个例子来说,压缩程序在压缩时有时候需要读取文件的很大一部分并保存在内存中作反复的搜索。假设内存大小是128MB,而要压缩的文件有 200MB,且压缩软件需要保存在内存中的大小也是 200MB,那么这时操作系统就要权衡压缩程序和系统中的其他程序,把多出来的那一部分数据放进交换文件。下面,就让我们一起来看看如何对虚拟内存进行设置吧。

虚拟内存的设置
对于虚拟内存主要设置两点,即内存大小和存放位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而存放位置则是设置虚拟内存应使用哪个分区中的硬盘空间。对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的Windows安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。一般来说,交换文件太大不会影响效率,但会占用额外的磁盘空间。交换文件太小有时会引起可以运行的程序数量变少。

找出最合适的范围值后,在设置虚拟内存时,用鼠标右键点击“我的电脑”,选择“属性”,弹出系统属性窗口,选择“性能”标签,点击下面“虚拟内存”按钮,弹出虚拟内存设置窗口,点击“用户自己指定虚拟内存设置”单选按钮,“硬盘”选较大剩余空间的分区,然后在“最小值”和“最大值”文本框中输入合适的范围值。如果您感觉使用系统监视器来获得最大和最小值有些麻烦的话,这里完全可以选择“让Windows管理虚拟内存设置”。

调整分页位置

Windows9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.ini(C:Windows下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin386.swp”,改为其他分区的路径,如将交换文件放在D:中,则改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。

而对于使用Windows2000和WindowsXP的,可以选择“控制面板→系统→高级→性能”中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区。

或者,WinXP一般要求物理内存在256M以上。如果你喜欢玩大型3D游戏,而内存(包括显存)又不够大,系统会经常提示说虚拟内存不够,系统会自动调整(虚拟内存设置为系统管理)。

如果你的硬盘空间够大,你也可以自己设置虚拟内存,具体步骤如下:右键单击“我的电脑”→属性→高级→性能设置→高级→虚拟内存更改→选择虚拟内存(页面文件)存放的分区→自定义大小→确定最大值和最小值→设置。一般来说,虚拟内存为物理内存的1.5倍,稍大一点也可以,如果你不想虚拟内存频繁改动,可以将最大值和最小值设置为一样。{另一种说法:调整时我们需要注意,不要将最大、最小页面文件设为等值。因为通常内存不会真正“塞满”,它会在内存储量到达一定程度时,自动将一部分暂时不用的数据放到硬盘中。最小页面文件越大,所占比例就低,执行的速度也就越慢。最大页面文件是极限值,有时打开很多程序,内存和最小页面文件都已“塞满”,就会自动溢出到最大页面文件。所以将两者设为等值是不合理的。一般情况下,最小页面文件设得小些,这样能在内存中尽可能存储更多数据,效率就越高。最大页面文件设得大些,以免出现“满员”的情况。

PS:①1.5倍虚拟内存设置,是网上技术文档通用说明的,个人认为可以根据常用软件的实际情况设定。推荐有经验的用户使用。
②现在有很多工具软件(例如WINDOWS优化大师、超级兔子),可以很好的更改这些设置,工具软件也会根据你的电脑的实际情况进行相应的推荐设置。

虚拟内存使用技巧
对于虚拟内存如何设置的问题,微软已经给我们提供了官方的解决办法,对于一般情况下,我们推荐采用如下的设置方法:

(1)在Windows系统所在分区设置页面文件,文件的大小由你对系统的设置决定。具体设置方法如下:打开"我的电脑"的"属性"设置窗口,切换到"高级"选项卡,在"启动和故障恢复"窗口的"写入调试信息"栏,如果你采用的是"无",则将页面文件大小设置为2MB左右,如果采用"核心内存存储"和"完全内存存储",则将页面文件值设置得大一些,跟物理内存差不多就可以了。

小提示:对于系统分区是否设置页面文件,这里有一个矛盾:如果设置,则系统有可能会频繁读取这部分页面文件,从而加大系统盘所在磁道的负荷,但如果不设置,当系统出现蓝屏死机(特别是STOP错误)的时候,无法创建转储文件(Memory.dmp),从而无法进行程序调试和错误报告了。所以折中的办法是在系统盘设置较小的页面文件,只要够用就行了。

(2)单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。之所以单独划分一个分区用来设置虚拟内存,主要是基于两点考虑:其一,由于该分区上没有其它文件,这样分区不会产生磁盘碎片,这样能保证页面文件的数据读写不受磁盘碎片的干扰;其二,按照Windows对内存的管理技术,Windows会优先使用不经常访问的分区上的页面文件,这样也减少了读取系统盘里的页面文件的机会,减轻了系统盘的压力。

(3)其它硬盘分区不设置任何页面文件。当然,如果你有多个硬盘,则可以为每个硬盘都创建一个页面文件。当信息分布在多个页面文件上时,硬盘控制器可以同时在多个硬盘上执行读取和写入操作。这样系统性能将得到提高。

虚拟内存设置注意事项
允许设置的虚拟内存最小值为2MB,最大值不能超过当前硬盘的剩余空间值,同时也不能超过32位操作系统的内存寻址范围——4GB。

1、禁用页面文件

当拥有了1G以上的内存时,页面文件的作用将不再明显,因此我们可以将其禁用。方法是:依次进入注册表编辑器“HKEY_LOCAL_MACHINESystemCurrentControlSetControlSessionMa-nagerMemoryManagement”下,在“DisablePa-gingExecutive”(禁用页面文件)选项中将其值设为“1”即可。

PS:此举可能会造成系统不稳定.某些程序无法运行或死机。请根据自己实际情况更改。
1G以上内存就比较够用了,玩游戏、使用大型软件不推荐禁用虚拟内存。当然如果内存有2G的时候,可以根据自己的实际情况选择虚拟内存的使用大小(我个人认为2G内存可以禁用虚拟内存以提升系统性能,VISTA系统内存使用比较大,可以根据实际情况设定)。

2、清空页面文件

在同一位置上有一个“ClearPageFileAtShutdown(关机时清除页面文件)”,将该值设为“1”。这里所说的“清除”页面文件并非是指从硬盘上完全删除pagefile.sys文件,而是对其进行“清洗”和整理,根据微软的说法,这是一个安全选项,与性能无关。

高级话题:使用 SweepRAM 工具。适用于 Windows 2000/XP/2003。网上可以找到 SweepRAM 程序。该程序最大的作用是把所有进程的工作集清空。所谓工作集是指进程已映射的物理内存部分(即这些内存块全在物理内存中,并且 CPU 可以直接访问),还有一部分不在工作集中的虚拟内存则可能在转换列表中(CPU 不能通过虚地址访问,需要 Windows 映射之后才能访问),还有一部分则在磁盘上的页面文件里。工作集在进程运行时会被 Windows 自动调整,频繁访问的页面(4KB 的块)会留在内存中,而不频繁访问的页面在内存紧张时会被从工作集中移出,暂时保存在内存中的“转换列表”中,或者进一步换出到页面文件中。当应用程序再次访问某一页面时,操作系统会将它重新加回工作集中。

SweepRAM 工具以一种适中的频率(大约 40 分钟一次)反复运行,可以将各进程的工作集清空,而之后各进程的工作集会慢慢恢复。这样可以保持更好的工作集平衡,从而提高系统性能。

虚拟内存运行的原理以及过程

可能大家都会知道虚拟内存就是当物理内存不足够的时候,把硬盘的一部分当作内存来使用。
这样理解其实不够准确
物理内存就是大家平时经常说的1G内存,512M内存
首先要知道:打开任何一个程序,都是要占用物理内存的 ,当关闭这个程序的时候,系统也将会从物理内存中删除这个程序的信息
接着分两方面理解虚拟内存
--------------假设计算机物理内存是512M,系统都安装在C盘--------------------------------------
(一)当物理内存足够的时候
假设,我们运行的程序占用了215M,此时物理内存绝对够用了,但是不要以为此时系统没有用虚拟内存技术,系统照样用了虚拟内存技术,当我们打开QQ的时候,系统就为QQ这个程序指定了一个虚拟空间,只是此时这个虚拟空间里面没有信息而已
(二)当物理内存不足的时候
假设计算机运行”迅雷”和”IE浏览器”这两个个软件的时候物理内存已经达到512M,我们启动QQ,如果没有虚拟内存技术,我们此时根本不能启动QQ,因为QQ不能在内存中写入相关信息,不过现在有了虚拟内存技术,此时系统将会释放一部分物理内存给QQ用,假设释放的是迅雷所占用的物理内存,那么迅雷所占用的物理内存信息将会保存到硬盘上的一个pagefile.sys的文件中
当我们想再运行迅雷的时候,此时系统会从pagefile.sys查找相应的迅雷信息,同时把这些信息重新载入到物理内存里面,并且把QQ的信息释放到pagefiles.sys里面
这样一个循环交换过程就是虚拟内存技术,为什么叫它虚拟呢,因为系统把文件释放到了硬盘上,而这个硬盘可不是内存,只是临时的保存内存信息的地方
一句话,虚拟内存就是用如硬盘u盘等不是内存的介质来存储内存的信息
Window xp系统里面的c:/windows/prefetch这个文件夹里面的文件是虚拟内存技术的扩展,这些prefetch(预读)文件可以提升程序的运行速度
当我们运行程序时候,系统会依据内存记录这个程序经常用到的文件,并且把这个程序读取信息记录下来,同时在c:/windows/prefech下创建一个后缀是.pf的文件,并且把读取的信息保存到这.pf文件夹里面,
假设我们运行已经被记录photoshop这个程序,那么你双击桌面上的photoshop的时候,系统会先从c:/windows/prefetch中查找这个photoshop的相关记录,而不是继续运行photoshop,
系统根据以前记录photoshop用到的相关文件载入到内存中,载入好后,photoshop才可以继续运行,这样运行photoshop的速度就会提升了,大家可能看着要先执行.pf文件.再执行ps程序,这样速度还会快么?其实这个处理速度是很快的,如果没有预读文件,打开photoshop的速度会很慢的
C:/windows/prefetch里面还有一个Layout.ini这个文件,这个文件的作用就是排列文件载入的次序,
如果c:/windows/prefetch里面的预读文件很多,那么你每次运行一个程序的时候,系统都要花大量的时间去搜索这个程序有没有预读文件,这样有可能导致程序启动很慢,所以预读文件很多的时候,那么就去删除这些预读文件吧

手动设置虚拟内存
①用右键点击桌面上的“我的电脑”图标,在出现的右键菜单中选“属性”选项打开“系统属性”窗口。在窗口中点击“高级”选项卡,出现高级设置的对话框
②点击“性能”区域的“设置”按钮,在出现的“性能选项”窗口中选择“高级”选项卡,打开其对话框。
③在该对话框中可看到关于虚拟内存的区域,点击“更改”按钮进入“虚拟内存”的设置窗口。选择一个有较大空闲容量的分区,勾选“自定义大小”前的复选框,将具体数值填入“初始大小”、“最大值”栏中,而后依次点击“设置→确定”按钮即可,最后重新启动计算机使虚拟内存设置生效。

附文:合理设置虚拟内存
根据一般的设置方法,虚拟内存交换文件最小值、最大值同时都可设为内存容量的1.5倍,但如果内存本身容量比较大,比如内存是512MB,那么它占用的空间也是很可观的。所以我们可以这样设定虚拟内存的基本数值:内存容量在256MB以下,就设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的设为与内存容量相同值。
由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精确设置虚拟内存空间的数值。
①先将虚拟内存自定义的“初始大小”、“最大值”设为两个相同的数值,比如500MB;
②然后依次打开“控制面板→管理工具→性能”,在出现的“性能”对话框中,展开左侧栏目中的“性能日志和警报”,选中其下的“计数器日志”,在右侧栏目中空白处点击右键,选择右键菜单中的“新建日志设置”选项;
③在弹出的对话框“名称”一栏中填入任意名称,比如“虚拟内存测试”。在出现窗口中点击“添加计数器”按钮进入下一个窗口;
④在该窗口中打开“性能对象”的下拉列表,选择其中的“Paging File”,勾选“从列表中选择计数器”,并在下方的栏目中选择“%Usage Peak”;勾选“从列表中选择范例”,在下方的栏目中选择“_Total”,再依次点击“添加→关闭”结束
⑥在右侧栏目中可以发现多了一个“虚拟内存测试”项目,如果该项目为红色则说明还没有启动,点击该项,选择右键菜单中的“启动”选项即可
接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录“PerfLogs”,找到“虚拟内存测试_000001.csv”并用记事本程序打开它,在该内容中,我们查看每一栏中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的“46”,用46%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。
用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-07
虚拟内存在Windows XP中是非常不起眼的,Windows XP安装时会自动对其进行设置,用户甚至根本不必理会这个文件。但是虚拟内存作为物理内存的补充和延伸,对Windows XP的稳定运行起着举足轻重的作用,如果设置不好,会影响计算机的整体性能。

甲方:我在Windows XP操作系统中运行一款3D游戏时,却突然看到系统托盘区中弹出“虚拟内存不足”这样的提示。联想到以前也曾出现过此种问题,我该如何去解决呢?(点击查看更多软件使用技巧)

乙方:虚拟内存是将一部分硬盘空间来充当内存使用,虽然硬盘的运行速度不能与内存相比,可是容量却要比内存的容量高出许多。其作用在于可将一些读取到内存中却暂时不用的数据转移到虚拟内存中,这样便可释放出内存的空间,将有限的内存空间去继续存放未被读取的数据。

当出现虚拟内存不足的提示时,若不加以解决,那么便会影响到系统运转的效率。此时将虚拟内存的初始值和最大值设置为同一值,这样就可以大大提高系统的性能。

丙方:乙方所说的解决方法有误。这是因为如果将虚拟内存的初始值和最大值都设为两个相同的数值,那么在初始页面文件很大的情况下,也许正好会读取内存中一个容量较小的数据文件,这样它在虚拟内存中所占比例就越低,执行的速度也就越慢。而如果虚拟内存的初始页面很少,那么当数据超过初始页面文件的容量时,就会自动溢出到最大页面文件,但由于最大页面文件的容量与初始页面文件的容量相同,这样发生内存溢出的错误也在所难免了。

所以我们在设置虚拟内存大小时,应当将初始页面文件设得较小的容量,这样才能在内存中尽可能地存储更多数据,使其效率提高,同时也应提高最大页面文件的容量,防止“虚拟内存不足”的提示再次出现。

以上所述的是设置虚拟内存的基本原则,而若是要设定具体的虚拟内存容量大小,那么不妨采用下面两种方法:

第一种方法比较简单。

依次点击系统菜单“开始→控制面板”,在“控制面板”窗口中双击“系统”组件,单击窗口上的“高级”选项卡,在“性能”区域中的单击“设置”按钮。在打开的对话框中点击“高级”选项卡,单击“虚拟内存”区域中的“更改”按钮以进入虚拟内存设置窗口。

在窗口的“驱动器”栏目中选中分区盘符。由于硬盘读取数据是靠磁头在磁性物质上读取,而系统盘中有许多系统文件,若虚拟内存的页面文件也位于系统盘上,页面文件必然不连续,磁头来回读取就会影响系统性能,所以我们可将虚拟内存文件设定在一个非系统分区的单独分区中。

然后在“所选驱动器的页面文件大小”区域中点选“自定义大小”选项,分别在“初始大小”、“最大值”栏目中填入相应的数值即可。

根据微软公司的建议,虚拟内存交换文件最小值应设为内存容量的1.5倍,不过若内存容量是512MB甚至1GB,那么它所占用的空间肯定也不少。因此当内存总容量在256MB以下,就将虚拟内存的最小值设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的就设为与内存容量的相同值。

第二种虚拟内存的设置方法略嫌复杂,不过针对性更强。

首先运行电脑中经常使用的应用程序,然后打开“Windows任务管理器”窗口。单击窗口“性能”选项卡,在出现的页面中可显示出“物理内存”和“认可用量”。其中“物理内存”的“可用数”若小于物理内存的实际容量,则表示当前的物理内存够用。而倘若“认可用量”区域中所显示的“总数”、“峰值”等数值都超过了虚拟内存现有的容量大小,那么此时就可进入虚拟内存设置窗口,将虚拟内存的“初始大小”值与“总数”、“峰值”数值相近的容量即可。

再谈谈虚拟内存如何设置为好

一般人装好Windows以后,可能都会让系统自动处理虚拟内存。如果只是上网打字,这个东东确实不用你操心,但如果你要进行视频播放、编辑以及3D游戏等等对资源要求较高的任务,就要小心设置自己的虚拟内存了。虚拟内存的设置好坏涉及到系统的快慢、磁盘碎片产生的多少,甚至会影响到系统的稳定程度,确实不容小看。虽然这个问题已经有不少文章进行过讨论,但随着笔者就来谈谈怎样根据不同的任务种类设置虚拟内存:

一、为减少磁盘碎片设置虚拟内存

安装Windows的时候,默认的虚拟内存是放在安装系统所在的分区的,大小一般是物理内存的1.5倍。由于Windows还会把临时文件(TEMP目录及*.TMP)、IE缓冲区都放在该分区,这些文件都会频繁地更新写入硬盘,再加上虚拟内存的话,产生的文件碎片数量就比较多了。笔者认为,与其用整理软件耗费大量时间整理碎片,倒不如为这些文件专门划分一个分区,让它们随时有连续的空间可利用,速度也会更快。建议分出一个2G左右的分区,把TEMP、IE缓冲区的路径全部直向该分区,虚拟内存当然也放上面了,假设你是用E盘作该分区,到一定时间想清理的时候,简单地在DOS里清空文件或快速格式化E盘就可以了。

二、虚拟内存大小有学问

虚拟内存在不同的Windows版本下,不同的任务环境里,对系统的运行速度及稳定程度是有很大差异的。所以朋友们最好根据自己的实际情况设置:

1、3D游戏为主的应用

3D游戏是一种对CPU、显卡、内存要求都很高的应用,一般人内存不会超过256M,所以硬盘也会加入到帮忙临时交换数据的行列。笔者建议你把虚拟内存预设得大一点,这是由于3D渲染人物和景物模型需要大量的内存资源,虚拟内存也会变得很大,在游戏过程中,游戏本身的计算量已经很大,CPU负荷很重,如果初始的虚拟内存不够,要临时增加的话,Windows就向磁盘写入新数据——显然,在游戏过程中生成更大的文件与平时改变设置是不同的,整个系统速度会被拖慢,有时甚至会因为内存和磁盘速度不同步导致非法操作。笔者在玩CS1.5版的时候就发现某个地图经常非法操作退出,同时发现硬盘灯狂闪,后来尝试把初始的虚拟内存增加到750M以上,游戏稳定度立马大大增加了。证明虚拟内存对这种任务的影响是蛮大的,建议空间足够的话,初始化数值设到800M以上,对游戏的流畅是有帮助的。

2、以播放欣赏视频为主的应用

视频应用也是个对硬盘空间胃口很大的主儿,不过你别因此认为也要像3D游戏一样把虚拟内存设的很大,尤其是WindowsXP的用户(XP称为页面交换文件)——笔者在使用过程中发现XP有个小毛病,就是虚拟内存设大以后,不会自动把不需要的空间释放,也就是说那个PAGEFILES.SYS会越来越大,尤其是播放了RM、ASF等视频流文件以后,如果你把虚拟内存和XP放在同一分区,Windows经常会提示你虚拟内存设的太小,或是磁盘空间不足要清除不需要的垃圾文件云云。此时查看一下那个页面交换文件,已经有1G了;还有,如果你不是用FTP工具下载文件,用IE直接点链接的话,XP也会先把数据临时存放到Windows\TEMP目录里,也是经常不会自动删除。所以你会发现安装XP的分区越来越小,建议播放视频文件的XP用户,又没条件为虚拟内存设置专门分区的,把初始数值设小一点,提示空间不足的警告出现的机率会小一点。当然,最根本的办法还是转移虚拟内存的存放分区,或是用PQ为XP分区增加更大的空间。

三、虚拟内存其他方面的影响

有很多新接触电脑的朋友,是使用Windows98的。Windows98中的虚拟内存名字叫WIN386.SWP,默认是在C盘根目录下,没有隐藏属性,一般是会自动根据需要变化大小的。新手们往往不知道这个文件是什么东西,有人甚至尝试删除它,结果在DOS里删除了又重新生成,GUI里却删除不了,以为是中了病毒,于是就跑到论坛上求救。笔者也见过运行了PHOTOSHOP,期间在资源管理器中企图把WIN386.SWP删除,结果死机的人,所以这个虚拟内存影响还是蛮大的,要是你吃不准,不要乱删文件,就让Windows自己处理好了。后来微软也学乖了,把虚拟内存改名为PAGEFILE.SYS,并隐藏起来,免去了很多麻烦。

可见,用电脑掌握一点必要的常识,以及做好备份是很重要的。例如论坛上每天有人求救关于Windows损坏、优化过度系统崩溃和硬盘分区不见了的问题,如果你稍微知道一点系统维护的常识,有了GHSOT备份及分区表备份,是很容易搞定的小事——当然更不会以为WIN386.SWP或PAGEFILE.SYS是病毒或木马闹的人笑话你了,呵呵。

什么是虚拟内存?

虚拟内存是Windows XP为作为内存使用的一部分硬盘空间。即便物理内存很大,虚拟内存也是必不可少的。虚拟内存在硬盘上其实就是为一个硕大无朋的文件,文件名是PageFile.Sys,通常状态下是看不到的。必须关闭资源管理器对系统文件的保护功能才能看到这个文件。虚拟内存有时候也被称为是“页面文件”就是从这个文件的文件名中来的。

设置硬盘

优化虚拟内存,为什么要进行硬盘设置?这是因为虚拟内存文件(也就是常说的页面文件)存放在硬盘上,提高硬盘性能也可以在一定程度上提高内存的性能。

1. 启用磁盘写入缓存

在“我的电脑”上单击鼠标右键选择“属性->硬件”,打开设备管理器找到当前正在使用的硬盘,单击鼠标右键选择属性。在硬盘属性的的“策略”页中,打开“启用磁盘上的写入缓存”,如图 1。

这个选项将会激活硬盘的写入缓存,从而提高硬盘的读写速度。不过要注意一点,这个功能打开后,如果计算机突然断电可能会导致无法挽回的数据丢失。因此最好在有UPS的情况下再打开这个功能。当然,如果你平常使用计算机时不要进行什么重要的数据处理工作,没有UPS也无所谓,这个功能不会对系统造成太大的损失。

甲方:我在Windows XP操作系统中运行一款3D游戏时,却突然看到系统托盘区中弹出“虚拟内存不足”这样的提示。联想到以前也曾出现过此种问题,我该如何去解决呢?(点击查看更多软件使用技巧)

乙方:虚拟内存是将一部分硬盘空间来充当内存使用,虽然硬盘的运行速度不能与内存相比,可是容量却要比内存的容量高出许多。其作用在于可将一些读取到内存中却暂时不用的数据转移到虚拟内存中,这样便可释放出内存的空间,将有限的内存空间去继续存放未被读取的数据。

当出现虚拟内存不足的提示时,若不加以解决,那么便会影响到系统运转的效率。此时将虚拟内存的初始值和最大值设置为同一值,这样就可以大大提高系统的性能。

丙方:乙方所说的解决方法有误。这是因为如果将虚拟内存的初始值和最大值都设为两个相同的数值,那么在初始页面文件很大的情况下,也许正好会读取内存中一个容量较小的数据文件,这样它在虚拟内存中所占比例就越低,执行的速度也就越慢。而如果虚拟内存的初始页面很少,那么当数据超过初始页面文件的容量时,就会自动溢出到最大页面文件,但由于最大页面文件的容量与初始页面文件的容量相同,这样发生内存溢出的错误也在所难免了。

所以我们在设置虚拟内存大小时,应当将初始页面文件设得较小的容量,这样才能在内存中尽可能地存储更多数据,使其效率提高,同时也应提高最大页面文件的容量,防止“虚拟内存不足”的提示再次出现。

以上所述的是设置虚拟内存的基本原则,而若是要设定具体的虚拟内存容量大小,那么不妨采用下面两种方法:

第一种方法比较简单。

依次点击系统菜单“开始→控制面板”,在“控制面板”窗口中双击“系统”组件,单击窗口上的“高级”选项卡,在“性能”区域中的单击“设置”按钮。在打开的对话框中点击“高级”选项卡,单击“虚拟内存”区域中的“更改”按钮以进入虚拟内存设置窗口。

在窗口的“驱动器”栏目中选中分区盘符。由于硬盘读取数据是靠磁头在磁性物质上读取,而系统盘中有许多系统文件,若虚拟内存的页面文件也位于系统盘上,页面文件必然不连续,磁头来回读取就会影响系统性能,所以我们可将虚拟内存文件设定在一个非系统分区的单独分区中。

然后在“所选驱动器的页面文件大小”区域中点选“自定义大小”选项,分别在“初始大小”、“最大值”栏目中填入相应的数值即可。

根据微软公司的建议,虚拟内存交换文件最小值应设为内存容量的1.5倍,不过若内存容量是512MB甚至1GB,那么它所占用的空间肯定也不少。因此当内存总容量在256MB以下,就将虚拟内存的最小值设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的就设为与内存容量的相同值。

第二种虚拟内存的设置方法略嫌复杂,不过针对性更强。

首先运行电脑中经常使用的应用程序,然后打开“Windows任务管理器”窗口。单击窗口“性能”选项卡,在出现的页面中可显示出“物理内存”和“认可用量”。其中“物理内存”的“可用数”若小于物理内存的实际容量,则表示当前的物理内存够用。而倘若“认可用量”区域中所显示的“总数”、“峰值”等数值都超过了虚拟内存现有的容量大小,那么此时就可进入虚拟内存设置窗口,将虚拟内存的“初始大小”值与“总数”、“峰值”数值相近的容量即可。

页面文件的设置

页面文件的大小计算

对于不同的计算机而言,页面文件的大小是各不相同的。关于页面文件大小的设置,有两个流传甚广的“公式”,“物理内存X2.5”或者“物理内存X1.5”。这两种计算方法固然简便,但是并不适用于所有的计算机。设置页面文件大小最准确的方法是看看计算机在平常运行中实际使用的页面文件大小。

通过Windows XP自带的日志功能可以监视计算机平常使用的页面文件的大小,从而进行最准确的设置,具体步骤如下。

一、在“我的电脑”上单击鼠标右键,选择“属性->高级”,单击“性能”下面的“设置”按钮,然后选择“高级”页,单击“虚拟内存”下方的“更改”按钮。选择“自定义大小”,并将“起始大小”和“最大值”都设置为300M,这只是一个临时性的设置。设置完成后重新启动计算机使设置生效。

二、进入“控制面板->性能与维护->管理工具”,打开“性能”,展开“性能日志和警告”,选择“计数器日志”。在窗口右侧单击鼠标右键选择“新建日志设置”,如图 4。

三、随便设置一个日志名称,比如“监视虚拟内存大小”,如图 5。

四、在“常规”页中单击“添加计数器”按钮,如图 6。

在“性能对象”中选择“Paging File”,然后选中“从列表选择记数器”下面的“%Usage Peak”,并在右侧“从列表中选择范例”中选择“_Total”。最后单击“添加”和“关闭”按钮,如图 7。

五、别忘了记住“日志文件”页中的日志文件存放位置和文件名,我们后面需要查看这个日志来判断Windows XP平常到底用了多少虚拟内存,在这个例子中,日志文件被存放在D:\Perflog目录下,如图 8。

另外还要设置“日志文件类型”为“文本文件”,这样便于阅读,如图 9。

这时你可以看到刚才新建的日志条目前面的图标变成了绿色,这表明日志系统已经在监视虚拟内存了。如果图标还是红色,你应该单击鼠标右键选择“开始”来启动这个日志。

过一段时间后打开这个CVS文件,我们可以看到如下内容的条目,如图 10。

这个日志文件记录这一段时间中页面文件的使用情况,注意这里的单位是%,而不是MB。通过简单的计算,我们就可以得到页面文件的最小尺寸,公式是“页面文件尺寸X百分比”。比如这个例子中,虚拟内存最大的使用比率是31%,300MBX31%=93MB,这个值就是虚拟内存的最小值(注意,300MB是前面的设置的临时值)。

如果物理内存较大,可以考虑将页面文件的“起始大小”和“最大值”设置为相等,等于上一步中计算出来的大小。这样硬盘中不会因为页面文件过渡膨胀产生磁盘碎片,其副作用是由于“最大值”被设置的较小,万一偶然出现虚拟内存超支的情况,可能会导致系统崩溃。

设置页面文件

现在回到“虚拟内存”的设置对话框中选择自定义大小并按照上面的计算结果分别设置“初始大小”和“最大值”,如图 11。这里我们将“初始大小”设置为91M,而将“最大值”设置成了200M,这样比较保险。

对页面文件进行碎片整理

Windows XP运行时需要大量访问页面文件,如果页面文件出现碎片,系统性能将会受到严重影响,而且会缩短硬盘的使用寿命。所以我们很有必要对页面文件定期进行碎片整理。

不过别忘了,页面文件是系统关键文件,Windows XP运行时无法对其进行访问。所以对它进行碎片整理并不是一件容易的事情。我们有两种方案可以选择,一是安装Windows双系统,然后启动另外一个Windows对Windows XP所在的分区进行碎片整理。二是使用专门的工具软件,比如System File Defragmenter等。本回答被提问者采纳
第2个回答  2008-06-07
虚拟内存是指当你运行较大程序时.占用内存过多.你内存条不足以支持所需内存.这时电脑就会自动从你的硬盘中分离出一部分容量借用为内存来运行程序.一般借用的容量为你电脑内存的两倍.关于调节虚拟内存你右击我的电脑-属性-高级-性能-设置-高级-虚拟内存-更改,然后你就可以更改你的虚拟内存了.调到合适的大小,一般来说是电脑内存两倍,你也可以大点
第3个回答  2008-06-07
虚拟内存就是将一部分硬盘空间当作内存用,用来临时存取数据,提高电脑速度.
256内存将虚拟内存最小最大值都设为512,512,就行了.
第4个回答  2008-06-07
我的电脑,属性,高级,性能,设置,高级,更改.自定义,设置,缺点,就OK了,然后虚拟内存一般设置无物理内存的2到3倍.