- 侠客
-
什么是虚拟内存
不知大家发现没有,在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 清空页面文件
叮当点评:本文较详细地讲解了虚拟内存的概念及优化方法。使我们了解了它在内存与硬盘之间的工作关系,同时认识到了虚拟内存并非越大越好,而应该根据计算机的具体配置进行合理的调整。相信大家在真正的了解并掌握了虚拟内存的作用与优化方法后,一定会使爱机在性能上有所提升。
- 西柚不是西游
-
对于虚拟内存,微软的官方定义是:计算机使用的临时存储器,用来运行所需内存大于计
算机具有的内存的程序。例如,程序可以访问计算机硬盘驱动器上4GB字节的虚拟内存,
即使计算机只有32MB的RAM。当前没有装入计算机内存的程序数据将保存到页面文件中。
通常的情况下,我们会在c:下看到一个名这pagefile.sys的文件,这就是充当虚拟内存使
用的页面文件,它会有上百M甚至几百M大。
在介绍如何高速虚拟内存以提高系统性能前,先说一下如何更改虚拟内存的设置:
1.在控制面板中打开"系统";
2.单击"高级"选项卡上的"性能选项",然后在"虚拟内存"下单击"更改"。
3.在"驱动器"列表中,单击包含要更改的页面文件的驱动器。 在"所选驱动器的页
面文件大小"下,在"初始大小 (MB)"或"最大值 (MB)"框中以兆字节为单位键入新的页面
文件大小,然后单击"设置"。 微软推荐页面文件的大小于物理内存总量的1.5倍。
4.如果减少页面文件设置的最小值或最大值,则必须重新启动计算机来查看改动效
果。通常增大不要求重新启动计算机。
在调整虚拟内存提高系统性能通常有两种办法:
第一种:将页面文件放在与操作系统所用硬盘不同的硬盘上,这个硬盘要使用不同
的硬盘控制器。有两层意思:一是如果只有两个硬盘控制器控制两块硬盘,那么操作系
统用一个,页面文件用一个;二是如果有多个硬盘控制器控制多块硬盘,那么操作系统
用一个,分割页面文件,使页面文件均匀的分布在剩余的硬盘控制器控制的硬盘上。这
样在系统在读虚拟内存的内容时,会同时使用多个硬盘控制器从多个硬盘读取数据,速
度会大大提高;在写数据时,VMM(虚拟内存管理)会避开繁忙的硬盘控制器而将数据写
在控制器相对空闲一些地硬盘上,这样读写虚拟内存的性能自然会提高很多。
第二种:将页面文件的初始大小与最大值设置为相等。这样可以大大减少系统因为
频繁读写数据而导致的文件碎片,同样可以提高系统的性能。
实际上,从微软对虚拟内存的定义可以看出,虚拟内存实际上是当物理内存不足时
临时使用硬盘充当物理内存的替代器,而硬盘的读写速度远远不如内存的读写速度,因
此最根本的提高系统性能的办法应该是增加物理内存,好在现在内存已经比较的便宜。
- 康康map
-
一、什么是虚拟内存?
Win d o ws 操作系统用虚拟内存来动态管理运行时的交换文件。为了提供比实际物理内存还多的内存容量以供使用,Win d o ws 占用了硬盘上的一部分空间作为虚拟内存。当CPU有要求时,首先会读取内存中的资料。当内存容量不够用时,Win d o ws 就会将需要暂时储存的数据写入硬盘。所以,计算机的内存大小等于实际物理内存容量加上“分页文件”(就是交换文件)的大小。如果需要的话,“分页文件”会动用硬盘上所有可以使用的空间。如果条件允许,你应尽可能应用这种功能设置。当然,如果你能自己动手设置的话,会取得比Win d o ws 自动设置更好的效果。
二、计算虚拟内存
在你设置虚拟内存大小之前,你会想到应该怎样进行“实际设置”。有人推荐应用一个常规公式:物理内存数2.5,当然这是不对的。应用这样的公式,对于拥有16MB 内存的用户就应该设置40MB ;对于拥有128MB 内存的用户来说则应设置320MB 。很显然,对于拥有较少内存的用户来说,他需要比拥有内存容量较大的用户设置更多的虚拟内存。要想看你的机器中内存工作的情况,应先安装“系统管理器”。打开“控制面板”窗口,点击“添加/删除程序”,选择“Win d o ws 安装程序”,从中选择“系统工具”,在“系统监视器”项前打勾,并安装它。运行“系统监视器”(开始→程序→附件→系统工具→系统监视器),选择“编辑”,然后选择“添加项目”里的“内存管理程序”,在右边的窗口里添加“正在使用交换文件”和“交换文件大小”。这时“系统监视器”就会显示轨迹图示。此外,你也可以通过“编辑”项里的“删除项目”删去不需要的项目。点击“选项”里的“图表”并设置“更新间隔”,可以根据你打算监视时间的长短来选择。一定要确认点击“文件”选择“开始记录”,并且保存记录日志(sysmon.log )到你的硬盘上,以便于以后参考使用。如果想获得更好的轨迹来参考,那就需要做一些能使你的机器处于“重压”下的任务,例如玩游戏,或是运行一些大程序。在运行一些极限时的Demo 或是玩犤虚幻犦游戏时,能帮助你确定所需要的“虚拟内存”大小。当然,这种“重压”测试是在计算机可以承认的情况下进行的,从测试结果表明处理图形的能力与“交换文件大小”有关。设置完“系统监视器”后,你就可以参考“记录日志”了。用“记事本”打开“sysmon.log”文件。其中文件的大小是以字节来表示的,我们就用1048576(1024×1024,即IBM)来转换。125829120/1048576=120MB 。你应该取计算的最大值,一般与计算值的差距不超过5MB 。
三、设置虚拟内存
基于测试结果,现在设置虚拟内存一般有两种不同的方法。一种方法是创建一个“长期固定”的转换文件,另一个是创建“半长期”的转换文件。创建“半长期”转换文件的好处在于一旦有必要,Win d o ws 可以扩大转换文件的大小,这将避免“内存不足”的错误。在应用完毕后,Win d o ws 又会将转换文件的大小恢复到最初(也是最小)的大小。如果你想创建“长期固定”的转换文件,则设置数值应该比计算数值多留30-50MB 空间,并将“最大值和最小值”的标准设为150MB 。特别是在有额外虚拟内存需求时,“长期固定”的转换文件更能防止意外情况的发生。其实,通常而言,硬盘上有150MB 的虚拟内存应该可以应付额外的内存空间需求了。一旦确定了要选择的方法,请按以下步骤进行:1.整理你的硬盘,然后重新启动。2.右键点击“我的电脑”,选择“属性”项,选择“性能”项。3.选择“虚拟内存”项,在弹出的窗口中选择“用户自己指定虚拟内存设置”。如果选择“长期固定”的转换文件,那么请根据上面说过的方法来设定各数值。如果选择“半长期”的转换文件,最小值就如上述设置(当然具体数值由计算数值来决定),最大值就是你逻辑盘上的所有空余空间。4.重新启动使修改设置生效。注意:你也可以通过文件“system.ini ”来设定虚拟内存的大小。点击“开始”弹出窗口的“运行”项,键入“system.ini ”后敲击回车键。在犤386E n h犦下用“MinPagingFileSize,MaxPagingFi l e Size &Paging-Drive =”来设置放置转换文件的硬盘盘符以及转换文件的最大和最小值。这里的数值是用kB为单位来计算的,请用MB 1024的方法来转换。
四、进一步完善交换文件
在设置完虚拟内存以后,还可以进一步完善它。交换文件最好放置在硬盘的边缘,可惜Win d o ws 自带的磁盘清理程序并不支持,但你可以用类似于NortonSpeed Disk这样的磁盘清理工具。我建议你不要把交换文件放到不同的分区里,因为这样硬盘磁头会不断地移动,从而浪费时间和硬盘本身。建议把交换文件放到最常用的分区里,也就是说放到安装了Win d o ws 的“C:\”里去。在设定虚拟内存时,改变硬盘设置就要改变交换文件设置。
五、虚拟缓存———Vcache
注意:以下的设置在Win95里会比在Win98里的效果要好,所以如果你使用Win98,就可以不必设置“最大和最小缓存文件(Min &Max CacheFile)”的大小。点击“开始”弹出窗口里的“运行”项,键入“system.ini ”,然后按回车键。从文件中寻找“犤vcache犦”项,并在标题下面键入以下信息:MinFileCache =16384MaxFileCache =16384你可以使用“剪切”(Ctrl +L ),然后“粘贴”(Ctrl +V)完成。其中“最小和最大缓存文件(Min &Max-CacheFile)”取决于物理内存的大小,如果你有64MB 内存,应该设置虚拟缓存为物理内存的1/4大小。如果有128MB 的内存,就应将数值加倍。如果想达到最好的效果,还需要对其中的一些数值进行实验。现在,请将下面内容加入到“最小和最大缓存文件”设置的下面。Chunksize =512NameCache =2048DirectoryCache =48以上设置都意味着什么呢?1.“Min &MaxCacheFile”设置了系统中最小和最大的磁盘缓存。这种设置将会直接影响到物理内存的实际应用大小,设置值越高,就会有越少的内存被应用到转换用途上去。2.“Chunksize”设置会直接影响到工作效果。磁盘缓存是内存里面一个独立的模块,它分有很多“块”(Chunk),如果块尺寸(Chunksize)设置过小就一定会增加占用的块数,如果块尺寸设置太大就会浪费很多资源。所以,最好的取值是不大不小。如果必要,你可以用乘以512(或1024,2048等)的方法改变数值。3.“NameCache”设定了一个Win d o ws 系统所能跟踪的文件数上限。4.“DirectoryCache”设定了一个Win d o ws 系统所能跟踪的目录数上限。此外,还有另一种方法来优化内存。但在使用之前,你必须在计算机上安装“Win d o ws scripting”程序。你可以在控制面板里选择“添加/删除程序”,然后选择Win d o ws 安装程序这一项。经过以上的设置以后,你的虚拟内存在各方面都会提高很多。你将会发现你的系统有了明显的变化,比如硬盘驱动器不再频繁存取了等等。既然完善你的系统虚拟内存设置将会使你获得巨大的收益,那么,请快加入到虚拟内存的行列中来吧。
- 一颗苹果
-
一般人装好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也会先把数据临时存放到WindowsTEMP目录里,也是经常不会自动删除。所以你会发现安装XP的分区越来越小,建议播放视频文件的XP用户,又没条件为虚拟内存设置专门分区的,把初始数值设小一点,提示空间不足的警告出现的机率会小一点。当然,最根本的办法还是转移虚拟内存的存放分区,或是用PQ为XP分区增加更大的空间。
三、虚拟内存其他方面的影响
有很多新接触电脑的朋友,是使用Windows98的。Windows98中的虚拟内存名字叫WIN386.SWP,默认是在C盘根目录下,没有隐藏属性,一般是会自动根据需要变化大小的。新手们往往不知道这个文件是什么东西,有人甚至尝试删除它,结果在DOS里删除了又重新生成,GUI里却删除不了,以为是中了病毒,于是就跑到论坛上求救。笔者也见过运行了PHOTOSHOP,期间在资源管理器中企图把WIN386.SWP删除,结果死机的人,所以这个虚拟内存影响还是蛮大的,要是你吃不准,不要乱删文件,就让Windows自己处理好了。后来微软也学乖了,把虚拟内存改名为PAGEFILE.SYS,并隐藏起来,免去了很多麻烦。
可见,用电脑掌握一点必要的常识,以及做好备份是很重要的。例如论坛上每天有人求救关于Windows损坏、优化过度系统崩溃和硬盘分区不见了的问题,如果你稍微知道一点系统维护的常识,有了GHSOT备份及分区表备份,是很容易搞定的小事——当然更不会以为WIN386.SWP或PAGEFILE.SYS是病毒或木马闹的人笑话你了,呵呵。
- 王木生
-
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
- 天涯
-
虚拟内存是在 物理内存不足时,用硬盘上的空间虚拟内存的方法,通常默认的是系统盘下的一个pagefile.sys文件。在win2k/xp下是pagefile.sys 在win9x/me下是win386.swp呀~
不过可以改的,默认是这样的
虚拟内存的大小可以在 系统属性,高级,性能,设置,高级里边更改他的大小。
如果经常出现虚拟内存不足的情况,请注意系统盘的剩余空间的大小,并观察有没有可疑的程序占用大量内存。有可疑的就可能是一些耗资源的病毒了。
- Chen
-
前面的那位叙述的十分标准。不过你想问的估计不是这个意思吧?通俗来讲,虚拟内存的出现,那是有一定时代背景的。那时物理内存的传输速率,还是制约软件运行速度的一个重要瓶颈。当初普通内存颗粒的价格之高,几乎就跟现阶段的闪存近似(不过现在闪存的价格也降下来了)。所以,为了软件推广的大众化,软件(主要是操作系统)制造商们就想出了用硬盘的一部分磁盘空间作为临时数据交换区,从而代替一部分物理内存的功能这种办法。但随着近些年内存条价格的逐步大众化,以及新技术使得民用主板对大容量内存的支持,致使这个瓶颈逐渐的淡化消失。但由于软件(主要是指操作系统)设计思路的延续,与其必须兼备的宽泛行,使得这一概念仍被保留。其实在1个G的物理内存开始普及的时候,虚拟内存的存在意义就已经不大了。不过,在Windows系统下无论多少,最好还是保留一些的好(让系统自动分配即可,不必费心去设置。手动设置不当的话,还会降低运行速度)。
- 寻云
-
虚拟内存是用硬盘空间做内存来弥补计算机RAM空间的缺乏。当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了。当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。
- 陶小凡
-
就是说不是真正的内存空间,而是虚拟的.
它是用一部分硬盘空间来充当的,当然了
,这一部分硬盘空间不是一般的硬盘空间,而是由系统盘(一般即是C盘)中的硬盘空间来充当的.所以你的一些资料尽量不要放在"我的文档"中,因为"我的文档"在系统盘中.这样不仅会影响系统速度,而且你如果增增删删,就会造成很多的碎片.
虚拟内存是由系统盘中的一部分连续的空间来充当的,如果你们虚拟内存不足的话也可以考虑对系统盘进行碎片整理.
当然了虚拟内存与硬盘剩余空间没有必然的联系,也不是没有联系.
- gitcloud
-
Windows操作系统用虚拟内存来动态管理运行时的交换文件。为了提供比实际物理内存还多的内存容量以供使用,Windows操作系统占用了硬盘上的
一部分空间作为虚拟内存。当CPU有要求时,首先会读取内存中的资料。当内存容量不够用时,Windows就会将需要暂时储存的数据写入硬盘。所以,计算机的内存大小等于实际物理内存容量加上“分页文件”(就是交换文件)的大小。如果需要的话,“分页文件”会动用硬盘上所有可以使用的空间。
- 朽月十八
-
虚拟内存是操作系统从主分区的硬盘空间分配出来的小部分空间,作为系统内存是用,虚拟内存的大小大概配置成物理内存大小的2倍...
- xinz
-
虚拟内存,是硬盘上单独划分出来的空间,用于数据的暂时储存,
解决虚拟内存小的问题:1.尽量少同时运行多个程序。2.增加物理内存的大小
- 站长在线
-
PS:此举可能会造成系统不稳定.某些程序无法运行或死机。请根据自己实际情况更改。
1G以上内存就比较够用了,玩游戏、使用大型软件不推荐禁用虚拟内存。当然如果内存有2G的时候,可以根据自己的实际情况选择虚拟内存的使用大小(我个人认为2G内存可以禁用虚拟内存以提升系统性能,VISTA系统内存使用比较大,可以根据实际情况设定)。
2、清空页面文件
在同一位置上有一个“ClearPageFileAtShutdown(关机时清除页面文件)”,将该值设为“1”。这里所说的“清除”页面文件并非是指从硬盘上完全删除pagefile.sys文件,而是对其进行“清洗”和整理,根据微软的说法,这是一个安全选项,与性能无关。
高级话题:使用
SweepRAM
工具。适用于
Windows
2000/XP/2003。网上可以找到
SweepRAM
程序。该程序最大的作用是把所有进程的工作集清空。所谓工作集是指进程已映射的物理内存部分(即这些内存块全在物理内存中,并且
CPU
可以直接访问),还有一部分不在工作集中的虚拟内存则可能在转换列表中(CPU
不能通过虚地址访问,需要
Windows
映射之后才能访问),还有一部分则在磁盘上的页面文件里。工作集在进程运行时会被
Windows
自动调整,频繁访问的页面(4KB
的块)会留在内存中,而不频繁访问的页面在内存紧张时会被从工作集中移出,暂时保存在内存中的“转换列表”中,或者进一步换出到页面文件中。当应用程序再次访问某一页面时,操作系统会将它重新加回工作集中。
- kven
-
windows操作系统会把硬盘的一部分空间来当做"虚拟内存",存放一些重要的数据.需要的时候就从上面读取,可以加快系统处理数据的速度.这是因为早期的电脑配置大都不高,为了解决系统内存不够而产生的一种解决办法.
在widows2000和XP以后,一般都叫作"页面文件"了.
- 苏州马小云
-
如果计算机缺少运行程序或操作所需的随机存取内存
(RAM),则
Windows
使用
虚拟内存
(
Virtual
Memory
)进行补偿。
虚拟内存将计算机的
RAM
和硬盘上的临时空间组合在一起。当
RAM
运行速度缓慢时,虚拟内存将数据从
RAM
移动到称为“分页文件”的空间中。将数据移入与移出分页文件可以释放
RAM,以便完成工作。
一般而言,计算机的
RAM
越多,程序运行得越快。如果计算机的速度由于缺少
RAM
而降低,则可以尝试增加虚拟内存来进行补偿。但是,计算机从
RAM
读取数据的速度要比从硬盘读取数据的速度快得多,因此增加