三秦IT网在线论坛's Archiver

金属流星 发表于 2004-9-21 18:25

虚拟内存

<P>
<TABLE cellSpacing=0 cellPadding=0 width=580 border=0>

<TR>
<TD>当你游戏玩得正酣,或者在激情冲浪开启多个窗口时,你的系统总会出现如右图的提示。机器此时慢如蜗牛,刚才好的心情顿时没了。在我们刊登的电脑报第20期E5版的菜鸟档案——《找回占用系统盘空间》一文中提到虚拟内存的简单设置,这一问题引起许多新手朋友的兴趣,这是他们经常遇到的情况。虚拟内存的作用是什么?到底设置多少为好?本文就来对它进行详细的介绍。以下所有步骤均以Windows XP操作系统为例。
<P>  打造虚拟内存的“标准间”</P>
<P>  当系统运行时,先要将所需的指令和数据从外部存储器(如硬盘、软盘、光盘等)调入内存中,CPU再从内存中读取指令或数据进行运算,并将运算结果存入内存中,内存所起的作用就像一个“二传手”的作用。当运行一个程序需要大量数据、占用大量内存时,内存这个仓库就会被“塞满”,而在这个“仓库”中总有一部分暂时不用的数据占据着有限的空间,所以要将这部分“惰性”的数据“请”出去,以腾出地方给“活性”数据使用。这时就需要新建另一个后备“仓库”去存放“惰性”数据。由于硬盘的空间很大,所以微软Windows操作系统就将后备“仓库”的地址选在硬盘上,这个后备“仓库”就是虚拟内存。在默认情况下,虚拟内存是以名为Pagefile.sys的交换文件保存在硬盘的系统分区中。</P>
<P>  手动设置虚拟内存</P>
<P>  在默认状态下,是让系统管理虚拟内存的,但是系统默认设置的管理方式通常比较保守,在自动调节时会造成页面文件不连续,而降低读写效率,工作效率就显得不高,于是经常会出现“内存不足”这样的提示,下面就让我们自已动手来设置它吧。</P>
<P>  ①用右键点击桌面上的“我的电脑”图标,在出现的右键菜单中选择“属性”选项打开“系统属性”窗口。在窗口中点击“高级”选项卡,出现高级设置的对话框(图1);
</P>


<P align=center><IMG src="http://www.q3q4.com/UploadFiles/2004825212459734.jpg" align=center border=0>

图 1</P>
<P>  ②点击“性能”区域的“设置”按钮,在出现的“性能选项”窗口中选择“高级”选项卡,打开其对话框。
</P>
<P>  ③在该对话框中可看到关于虚拟内存的区域,点击“更改”按钮进入“虚拟内存”的设置窗口。选择一个有较大空闲容量的分区,勾选“自定义大小”前的复选框,将具体数值填入“初始大小”、“最大值”栏中,而后依次点击“设置→确定”按钮即可(图2),最后重新启动计算机使虚拟内存设置生效。</P>
<p>
<P align=center><IMG src="http://www.q3q4.com/UploadFiles/200482521250580.jpg" align=center border=0>

图 2</P>
<P>  以上是Windows XP操作系统中虚拟内存的设置方法,笔者在此也简单提一下在Windows 98操作系统中的设置:</P>
<P>  在Windows 98系统中依次进入“开始→设置→控制面板→系统→性能→虚拟内存”,在弹出的对话框中选中“用户自己指定虚拟内存设置”选项,将虚拟内存的位置设在合适的分区中,并设定好虚拟内存的最小值与最大值,最后点击“确定”按钮完成(图3)。</P>
<p>
<P align=center><IMG src="http://www.q3q4.com/UploadFiles/200482521251621.jpg" align=center border=0>

图 3</P>
<P>  建议:可以划分出一个小分区专门提供给虚拟内存、IE临时文件存储等使用,以后可以对该分区定期进行磁盘整理,从而能更好提高计算机的工作效率。
  <B>量身定制虚似内存</B></P>
<P>  1.普通设置法</P>
<P>  根据一般的设置方法,虚拟内存交换文件最小值、最大值同时都可设为内存容量的1.5倍,但如果内存本身容量比较大,比如内存是512MB,那么它占用的空间也是很可观的。所以我们可以这样设定虚拟内存的基本数值:内存容量在256MB以下,就设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的设为与内存容量相同值。</P>
<P>  2.精准设置法</P>
<P>  由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精确设置虚拟内存空间的数值。</P>
<P>  ①先将虚拟内存自定义的“初始大小”、“最大值”设为两个相同的数值,比如500MB;</P>
<P>  ②然后依次打开“控制面板→管理工具→性能”,在出现的“性能”对话框中,展开左侧栏目中的“性能日志和警报”,选中其下的“计数器日志”,在右侧栏目中空白处点击右键,选择右键菜单中的“新建日志设置”选项;</P>
<P>  ③在弹出的对话框“名称”一栏中填入任意名称,比如“虚拟内存测试”。在出现窗口中点击“添加计数器”按钮进入下一个窗口;</P>
<P>  ④在该窗口中打开“性能对象”的下拉列表,选择其中的“Paging File”,勾选“从列表中选择计数器”,并在下方的栏目中选择“%Usage Peak”;勾选“从列表中选择范例”,在下方的栏目中选择“_Total”,再依次点击“添加→关闭”结束(图4)。</P>
<p>
<P align=center><IMG src="http://www.q3q4.com/UploadFiles/200482521252360.jpg" align=center border=0>

图 4</P>
<P>  ⑤为了能方便查看日志文件,可打开“日志文件”选项卡,将“日志文件类型”选择为“文本文件”,最后点击“确定”按钮即可返回到“性能”主界面;</P>
<P>  ⑥在右侧栏目中可以发现多了一个“虚拟内存测试”项目,如果该项目为红色则说明还没有启动,点击该项,选择右键菜单中的“启动”选项即可(图5)。</P>
<p>
<P align=center><IMG src="http://www.q3q4.com/UploadFiles/200482521254371.jpg" align=center border=0>

图 5</P>
<P>  接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录“PerfLogs”,找到“虚拟内存测试_000001.csv”并用记事本程序打开它(图6),在该内容中,我们查看每一栏中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的“46”,用46%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。</P>
<p>
<P align=center><IMG src="http://www.q3q4.com/UploadFiles/200482521255797.jpg" align=center border=0>

图 6</P>
<P>  用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率了。</P></TD></TR></TABLE></P>

金属流星 发表于 2004-9-21 18:26

虚拟内存对于任何版本的Windows而言都是十分重要的。如果设置得当,它将极大地提升电脑的性能和运行速度。可是在默认状态下,Windows始终将虚拟内存设为物理内存的1.5倍。这样的话,如果用户安装2GB的内存,系统就会腾出高达3GB的硬盘空间作为虚拟内存。但以当前的主流应用软件和游戏对内存的需要来看,根本没有必要使用这么多的虚拟内存。那么,有没有什么秘技或绝招可使虚拟内存运用得更有效率或更显性能呢? <P> <b>  1、使用较快的硬盘</b></P><P>   新一代的硬盘在速度方面(无论是数据传输速度或读写速度),都应该比旧一代的硬盘更快。所以,如果用户买回新的硬盘,想获得最佳的系统性能,通常应把Windows操作系统重新安装到速度较快的新硬盘上。不过,如果大家因为某些原因(通常是懒惰或嫌麻烦)没有将Windows系统重装到新硬盘上,笔者建议至少也应将虚拟内存改设到较快的新硬盘上(图1)。注意,安装Windows XP所在的原硬盘分区仍应保留一定大小的虚拟内存。若完全没有,可能会出现系统不稳定的情况。</P>
<P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212819734.jpg"></P><p><P align=center>图 1</P><P>  <b>2、分割存于多个硬盘</b></P><P>   将虚拟内存设在较快的硬盘上,的确可使虚拟内存的运作更有效率。但是若电脑上两个硬盘速度一样快,则应将虚拟内存平均分配在两个不同的硬盘上(并非同一硬盘的不同分区)。因为同步进行读写操作会更有效地提高系统整体的虚拟内存性能。</P><P>   举个例子,假设你原本在硬盘C上设置了700MB的虚拟内存,现在你可尝试重新分配,即把硬盘C改为350MB,硬盘D新增350MB的虚拟内存。理论上这样做会加快虚拟内存整体的读写操作(图2)。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212819580.jpg"></P><p><P align=center>图 2</P><P>  <b>3、硬盘需有足够空间</b></P><P>   如果你不是很有经验的电脑用户,又或者没有特殊的使用要求,在Windows XP中选择“系统管理的大小”的方法来自动处理虚拟内存,一般情况下应该会比选择“自定义大小”的方法来得安全和稳定。不过,有一点大家必须注意,由于虚拟内存的“页面文件”(pagefile.sys)会随着电脑使用过程进行收缩和扩展,为使系统管理虚拟内存能够进行得顺利和更具弹性,我们必须保证分页文件所在的硬盘拥有足够的可用空间。</P><P><b>  4、最小值等于最大值</b></P><P>   选择“自定义大小”的方法来处理虚拟内存,并将最大值和最小值都设为同一数值。有很多人都相信用这种方法来处理虚拟内存有助于提高系统的性能。他们所持的理由是,当最大值和最小值都相等时,系统无需时刻进行收缩和扩展页面文件的动作。省去了这些工作,相应地就是提高系统效率。</P><P>   这种方法,很多人坚信有效,但同样地,也有人指出其实并没有效果。但不管怎样也好,如要将最大值和最小值设为相等,我们必须坚守一个原则,那就是虚拟内存的大小必须足够,否则系统轻则会出现效率下降(要进行更多复写动作来腾出空间),严重的更会造成系统不稳定。</P><P><b>  5、整理页面文件</b></P><P>   文件数据保存在硬盘上久了,文件碎片(fragment)自然会产生。要保持或提高硬盘的工作效率,我们应不时为硬盘进行一次碎片整理。所谓虚拟内存,其实也是硬盘上的资料文件,那么虚拟内存是否也应该像普通文件般需要整理呢?</P><P>   Windows系统处理页面文件(即虚拟内存)的方法有别于一般的文件。相比之下,页面文件比一般文件更少出现碎片,为页面文件进行整理通常是没有必要的。事实上,当Windows XP进行磁盘碎片整理时,页面文件不会牵涉其中。</P><P>   虽然Windows不会对页面文件进行整理,但事实上页面文件也有碎片存在。追求“尽善尽美”的朋友可能仍想对页面文件进行碎片整理。大家不妨试试下面的方法:</P><P>   在桌面“我的电脑”图标上单击鼠标右键,在随后出现的功能菜单中选“属性”。进入系统属性的设置窗口,用鼠标点选“高级”--&gt;“性能”--&gt;“设置”--&gt;“高级”--&gt;“更改”,在随后出现的“虚拟内存”设置窗口中选中“无分页文件”一项(图3)。最后单击“设置”按钮退出,并重新启动电脑。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212819621.jpg"></P><p><P align=center>图 3</P><P>   重新启动后,检查一下磁盘根目录中还有没有pagefile.sys页面文件存在,如有就将之删除。清除掉虚拟内存的页面文件后,现在我们再进行磁盘碎片整理。完成后,按照前面的步骤重新设置一定数量的虚拟内存,并启动电脑使之生效。经上述方法处理后,新得出的页面文件将会是没有碎片的。</P><P>   另外,如果想查看页面文件碎片的具体情况呢?启动磁盘碎片整理程序,为存在有页面文件的硬盘进行一次“分析”(图4),再点选“查看报告”,看看“页面文件碎片”一栏便会一目了然(图5)。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212820360.jpg"></P><p><P align=center>图 4</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212820371.jpg"></P><p><P><b>6、虚拟内存的理想大小</b></P><P>   想以“自定义大小”的方法来处理虚拟内存,究竟应该设置多大的虚拟内存呢?在Windows XP中,如果由操作系统自己定义虚拟内存,系统通常会把最小值设置为物理内存的1.5倍。当扩展时,最大值则介于物理内存的2.5至3倍。一般情况下,用户想自定义虚拟内存的大小,均可参照这个比例设置。</P><P>   真的要参照这个比例吗?如果我的电脑上有1GB的内存,难不成最小值要设置为1.5GB,最大值是2.5至3GB。这样一来。Pagefile.sys页面文件至少为1.5GB,太不现实了!</P><P>   其实,大内存的系统跟小内存的系统相比,在设置虚拟内存时,标准有些不同。</P><P>   如果大家有512MB以上甚至1GB的内存,既然物理内存已经相当充足,所需的虚拟内存反而应该减少。故在大内存的系统中,虚拟内存的最小值可以设成物理内存的一半。比如有1GB的内存,虚拟内存的最小值设成512MB,最大值则维持3GB以备不时之需。注意:虽然最大值设为3GB,系统是不会立即出现3GB大小的pagefile.sys文件,实际上它首先会以最小值出现,待有扩展需要时才会递增。</P><P>   另外,有些大内存的朋友,可能会干脆不设置虚拟内存,以此强迫系统使用速度较快的内存。其实这是不太明智的做法。正所谓凡事都不要做得太绝对,完全没有虚拟内存也不行。原因是不少应用程序在设计时要求必须使用虚拟内存,没有了就会造成系统不稳定或死机。</P><P>   至于小内存的系统,例如256MB,参照1.5倍及3倍的设置比例最稳当。即虚拟内存最小值设为384MB,最大值768MB。</P><P><b>   7、手工订制最准确的虚拟内存</b></P><P>  0.5倍、1.5倍、3倍,哇!好像买衣服时分大、中、小号,完全没有个性。究竟设置虚拟内存有没有更“贴身剪裁”的方法呢?</P><P>  有,有,有。</P><P>  在Windows XP桌面的“开始”→“运行”中输入perfmon.msc(图6),一个与系统性能有关的监视器便会出现。看看显示器的底部,有三个计数器(pages/sec、Avg.Disk Queue Length及rocessor Time,图7)。为了便于我们接下来对虚拟内存的页面文件进行精确监测,现在请大家将这三个计数器逐一点选,并按键盘上的Delete键将它们删除。请大家放心,删除后,下次再启动系统性能监视器时,这三个项目会重新出现。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212948734.jpg"></P><p><P align=center>图 6</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212948580.jpg"></P><p><P align=center>图 7</P><P>   删除后,现在请在图表中央位置单击鼠标右键,在随后出现的功能菜单中点选“添加计数器”一项(图8),跟着在跳出窗口的“性能对象”一栏选“Process”。之后再在“从列表选择”一栏中点选“Page File Bytes”。不清楚“Page File Bytes”代表什么意思,只要单击“说明”按钮,解说文字便会出现在对话框之下(图9)。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212949621.jpg"></P><p><P align=center>图 8</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212949360.jpg"></P><p><P align=center>图 9</P><P>  选定“Page File Bytes”后,再在右方的“从列表选择范例”一栏选取“Total”项,之后依次单击“添加”和“关闭”按钮,一个名为“Page File Bytes”的计数器便会出现在性能监视器的下方中。</P><P>  重复以上的动作,再添加一个名为“Page File Bytes Peak”的计数器(即Process下面的Page File Bytes Peak)。</P><P>   现在,回头看一下监视器,图表中应该正在显示并计量着刚才新增加的两个计数器。如无意外,这两个计数器在图表上的显示不正确,即数值靠近最高比例线,没有动态变化(图10)。不用怕,这并不表示你的电脑出了什么问题,而是图表比例设得不太恰当而已!用鼠标右键逐一单击监视器底部的“Page Fele Bytes”和“Page File By8tes Peak”计数器,并选“属性”一项(图11)。在“数据”页面的“比例”一栏中改为0.0000001(图12),这样显示器中的图表便不再是没有动静了。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212949371.jpg"></P><p><P align=center>图 10</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212950797.jpg"></P><p><P align=center>图 11</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212950112.jpg"></P><p><P align=center>图 12</P><P>  如果你看过系统提供的说明,相信应该知道“Page File Bytes”和“Page File Bytes Peak”正是代表了系统监测期间所使用的虚拟内存及其峰值是多大。因此,需要精确地手工设置虚拟内存,可参考图表下方显示的数字,其单位是Bytes(图13)。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212950784.jpg"></P><p><P align=center>图 13</P><P>   想知道在正常的情况下,你的系统会耗用多少虚拟内存?请将平时日常使用的应用软件同时启动并让它们开始工作,接着再看性能监视器上所显示的数值,心中有数了吧。</P><P>   人总有疯狂的时候,想知道自己疯狂使用电脑时系统需要多少虚拟内存,现在就尽情地将电脑上的程序启动并运行(例如,开十多个IE浏览器窗口上网,播放MP3和DVD影片,再进行光盘刻录或DV影片压缩编码),看看监视器的百分比会升高到多少。</P><P>   还是觉得性能监视器中的图表很难看得清楚吗?</P><P>   在图表上右击鼠标,点选“属性”,进入“图表”页面勾选“水平格线”一项(图14)。这样图表中会出现一条条的水平分割线,是不是好分辨了?(图15)</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212950833.jpg"></P><p><P align=center>图 14</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212950738.jpg"></P><p><P align=center>图 15</P><P>   图表中的红色垂直线跑得太快,来不及开启电脑上的程序进行测试?</P><P>   同样,在图表上单击鼠标右键,选“属性”,在常规页面的“自动抽样间隔”一项中将1秒改为5秒(图16)。此时,图表中的“图形时间”数值便会由1分40秒变成8分20秒。换言之,红色垂直线走完一圈需花费8分20秒,这个时间应该足以让大家开启并运行很多应用程序,然后再慢慢查看图表中的结果。</P><p><P align=center><img src="http://www.q3q4.com/UploadFiles/2004825212950140.jpg"></P><p><P align=center>图 16</P><P>   最后,通过监视器的图表,相信大家已经能粗略估计你的电脑系统应设置多大的虚拟内存了。</P><P>  还在等什么,赶紧动手吧!</P>

chouge 发表于 2004-9-25 18:59

可怜的硬盘,又要当硬盘又要当内存。还让不让硬盘活了?连个风扇也没有。抗议。为了保护我那10G的古董硬盘,我想通了,决定禁用虚拟内存,该干嘛的干嘛,别指望别人替你加班。

金属流星 发表于 2004-10-1 01:56

<P>玩大游戏要用,除非你的内存很大。</P>

wowei 发表于 2004-10-6 07:46

很专业的文章,虚拟内存的使用确实很重要,谢谢楼主,学习中.........

ECity 发表于 2004-10-11 07:55

好贴!

行云流水 发表于 2004-10-23 22:25

<P>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</P><P>要是经常有人发这种好帖</P><P>那这里可真是不错了</P>

天意怜幽梦 发表于 2004-10-24 05:49

<P>哈好贴对我很有用的:)谢谢楼主[em17]</P>[em23][em23][em23][em23][em23][em23]

金属流星 发表于 2004-11-5 03:24

[em01]

魔域之子 发表于 2004-11-5 21:22

呵呵,有1G的内存的话,就可以考虑禁用虚拟内存。

寻欢回来了 发表于 2004-11-21 08:40

<P>楼主爱死你了 我老是这样的问题 现在知道怎么办啦</P>

ston5511 发表于 2004-12-14 00:51

感谢。[em07]

wgzlx 发表于 2005-2-2 19:46

顶了!

fengxyuhqu 发表于 2005-3-5 02:05

<P>看起来不错啊</P>

fengxyuhqu 发表于 2005-3-5 02:05

不过我太错了,看不是太懂

煞煞大 发表于 2005-3-10 23:51

[em01]

发晕的我 发表于 2005-5-14 21:59

[em04]看懂了很多,我现在就试试,有没有作用[em08]

google 发表于 2006-5-3 00:56

<P>即使有1,2G物理内存,最好也不要禁止虚拟内存,可以设置得很小就是了.</P>

零点漂移 发表于 2006-5-21 22:55

<P>不错!</P>
<P>美.........</P>
[em01]

zhuha2006 发表于 2006-10-14 04:03

<p>好帖,不顶就太不像话了</p>

页: [1] 2



Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.