关于数字的趣味故事:什么是虚拟内存??

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 15:48:50
好象听我同学说XP是不会死机的 因为它有虚拟内存 那它到底是什么东西啊

什么是虚拟内存

不知大家发现没有,在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 清空页面文件

叮当点评:本文较详细地讲解了虚拟内存的概念及优化方法。使我们了解了它在内存与硬盘之间的工作关系,同时认识到了虚拟内存并非越大越好,而应该根据计算机的具体配置进行合理的调整。相信大家在真正的了解并掌握了虚拟内存的作用与优化方法后,一定会使爱机在性能上有所提升。

当系统运行时,先要将所需的指令和数据从外部存储器(如硬盘、软盘、光盘等)调入内存中,CPU

再从内存中读取指令或数据进行运算,并将运算结果存入内存中,内存所起的作用就像一个“二传手”的

作用。当运行一个程序需要大量数据、占用大量内存时,内存这个仓库就会被“塞满”,而在这个“仓库

”中总有一部分暂时不用的数据占据着有限的空间,所以要将这部分“惰性”的数据“请”出去,以腾出

地方给“活性”数据使用。这时就需要新建另一个后备“仓库”去存放“惰性”数据。由于硬盘的空间很

大,所以微软Windows操作系统就将后备“仓库”的地址选在硬盘上,这个后备“仓库”就是虚拟内存。

在默认情况下,虚拟内存是以名为Pagefile.sys的交换文件保存在硬盘的系统分区中。

手动设置虚拟内存

在默认状态下,是让系统管理虚拟内存的,但是系统默认设置的管理方式通常比较保守,在自动调节

时会造成页面文件不连续,而降低读写效率,工作效率就显得不高,于是经常会出现“内存不足”这样的

提示,下面就让我们自已动手来设置它吧。

①用右键点击桌面上的“我的电脑”图标,在出现的右键菜单中选择“属性”选项打开“系统属性”

窗口。在窗口中点击“高级”选项卡,出现高级设置的对话框;

②点击“性能”区域的“设置”按钮,在出现的“性能选项”窗口中选择“高级”选项卡,打开其对

话框。

③在该对话框中可看到关于虚拟内存的区域,点击“更改”按钮进入“虚拟内存”的设置窗口。选择

一个有较大空闲容量的分区,勾选“自定义大小”前的复选框,将具体数值填入“初始大小”、“最大值

”栏中,而后依次点击“设置→确定”按钮即可,最后重新启动计算机使虚拟内存设置生效。

以上是Windows XP操作系统中虚拟内存的设置方法,笔者在此也简单提一下在Windows 98操作系统中

的设置:

在Windows 98系统中依次进入“开始→设置→控制面板→系统→性能→虚拟内存”,在弹出的对话框

中选中“用户自己指定虚拟内存设置”选项,将虚拟内存的位置设在合适的分区中,并设定好虚拟内存的

最小值与最大值,最后点击“确定”按钮完成。

建议:可以划分出一个小分区专门提供给虚拟内存、IE临时文件存储等使用,以后可以对该分区定期

进行磁盘整理,从而能更好提高计算机的工作效率。
量身定制虚似内存

1.普通设置法

根据一般的设置方法,虚拟内存交换文件最小值、最大值同时都可设为内存容量的1.5倍,但如果内

存本身容量比较大,比如内存是512MB,那么它占用的空间也是很可观的。所以我们可以这样设定虚拟内

存的基本数值:内存容量在256MB以下,就设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256

MB与512MB之间的设为与内存容量相同值。

2.精准设置法

由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序

,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精

确设置虚拟内存空间的数值。

①先将虚拟内存自定义的“初始大小”、“最大值”设为两个相同的数值,比如500MB;

②然后依次打开“控制面板→管理工具→性能”,在出现的“性能”对话框中,展开左侧栏目中的“

性能日志和警报”,选中其下的“计数器日志”,在右侧栏目中空白处点击右键,选择右键菜单中的“新

建日志设置”选项;

③在弹出的对话框“名称”一栏中填入任意名称,比如“虚拟内存测试”。在出现窗口中点击“添加

计数器”按钮进入下一个窗口;

④在该窗口中打开“性能对象”的下拉列表,选择其中的“Paging File”,勾选“从列表中选择计

数器”,并在下方的栏目中选择“%Usage

Peak”;勾选“从列表中选择范例”,在下方的栏目中选择“_Total”,再依次点击“添加→关闭”结束



⑤为了能方便查看日志文件,可打开“日志文件”选项卡,将“日志文件类型”选择为“文本文件”

,最后点击“确定”按钮即可返回到“性能”主界面;

⑥在右侧栏目中可以发现多了一个“虚拟内存测试”项目,如果该项目为红色则说明还没有启动,

点击该项,选择右键菜单中的“启动”选项即可。

接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录“

PerfLogs”,找到“虚拟内存测试_000001.csv”并用记事本程序打开它,在该内容中,我们查看每一栏

中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的“46”,用46

%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。

用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置

为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率了。