求高手教我“虚拟内存页面调度算法”?

如果你的电脑内存太小,没有虚拟内存,就会内存不足,明显影响速度。

Windows虚拟内存问题的详细解释

本文详细介绍了虚拟内存的设置及相关问题的解决方法。

内存在计算机中起着很大的作用。计算机中所有正在运行的程序都需要通过内存来执行。如果执行的程序很大或很多,内存将被耗尽。为了解决这个问题,Windows中使用了虚拟内存技术,即把一部分硬盘空间作为内存。内存用完了,电脑会自动调用硬盘充当内存,缓解内存的紧张。例如,如果计算机只有128MB的物理内存,那么在读取200MB容量的文件时,就必须使用相对较大的虚拟内存。内存读取文件后,会先存储在虚拟内存中,然后再将存储在虚拟内存中的文件释放到原来的安装目录中。

当系统运行时,所需的指令和数据应从外部存储器(如硬盘、软盘、光盘等)中调出。)到内存中,然后CPU从内存中读取指令或数据进行运算,并将运算结果存储在内存中。记忆起着“二传手”的作用。当运行一个程序需要大量数据,占用大量内存时,内存仓库就会被“塞满”,总有一部分暂时不用的数据会在这个“仓库”里占据有限的空间,所以要把这部分“惰性”的数据“请来”,为“活跃”的数据腾出空间。这时候就需要再创建一个备份“仓库”来存储“惰性”数据。由于硬盘上的空间较大,微软Windows操作系统选择硬盘上备份“仓库”的地址,这个备份“仓库”就是虚拟内存。默认情况下,虚拟内存作为名为Pagefile.sys的交换文件保存在硬盘的系统分区中。

手动设置虚拟内存

默认情况下,允许系统管理虚拟内存。但是系统默认的管理方式通常比较保守,会造成页面文件在自动调整时不连续,降低读写效率,工作效率低。所以经常会出现“内存不足”的提示。你自己定吧。

①右键单击桌面上的“我的电脑”图标,在右键菜单中选择“属性”选项,打开“系统属性”窗口。单击窗口中的“高级”选项卡,打开高级设置对话框。

②单击“性能”区域中的“设置”按钮,并在“性能选项”窗口中选择“高级”选项卡以打开其对话框。

③在此对话框中可以看到关于虚拟内存的区域,点击“更改”按钮进入“虚拟内存”的设置窗口。选择一个空闲容量较大的分区,勾选“自定义大小”前的复选框,在“初始大小”和“最大值”栏填写具体值,然后依次点击“设置→确定”按钮,最后重启电脑,使虚拟内存设置生效。

建议:可以划分一个小分区用于虚拟内存,即临时文件存储之类的,然后以后可以定期整理磁盘,更好的提高电脑的工作效率。

第一,量身定制的虚拟内存

1.正常设置方法

按照一般的设置方法,虚拟内存交换文件的最小值和最大值可以同时设置为1.5倍的内存容量。但如果内存本身容量很大,比如512MB,会占用相当大的空间。所以虚拟内存的基本值可以这样设置:内存容量在256MB以下时,设置为1.5倍;512MB以上,设为一半内存容量;256MB和512MB之间的值被设置为与内存容量相同的值。

2.精确设置方法

因为每个人实际上并不能操作同一个应用,比如有的人要运行3DMAX、Photoshop等大型程序,有的人可能只是打字、玩一些小游戏,所以对虚拟内存的要求是不一样的,需要因地制宜准确设置虚拟内存空间的值。

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

②然后依次打开控制面板→管理工具→性能。在出现的性能对话框中,展开左栏的性能日志和告警,选择其下的计数器日志,右键单击右栏的空白处,在右键菜单中选择新建日志设置选项;

③在弹出对话框的“名称”栏中填写任意名称,如“虚拟内存测试”。点击窗口中的“添加计数器”按钮,进入下一个窗口;

④在此窗口中打开性能对象下拉列表,选择分页文件,勾选从列表中选择计数器,在下面的列中选择% Usage Peak勾选“从列表中选择一个实例”,在下面的列中选择“_合计”,然后点击“添加→关闭”完成;

⑥您可以在右栏中找到一个附加的“虚拟内存测试”项目。如果项目为红色,则表示尚未开始。点击此项,并在右键菜单中选择“开始”选项。

接下来运行一些常用的应用。运行一段时间后,进入日志文件所在系统分区下的默认目录“PerfLogs”,找到“虚拟内存Test _000001.csv”,用记事本程序打开。在此内容中,检查每一列中的倒数第二个值,即虚拟内存的利用率,并找到该值的最大值,例如,在图中。

有了这个值,初始大小可以设置为230MB,最大值可以根据磁盘空间的大小自由设置。一般建议设置为最小值的2到3倍。这样可以让虚拟内存更准确,让自己喜欢的电脑运行更流畅高效。

二、Windows虚拟内存加速秘籍

虚拟内存对于任何版本的Windows都非常重要。如果设置得当,会大大提高电脑的性能和运行速度。但是,默认情况下,Windows总是将虚拟内存设置为65438+物理内存的0.5倍。这样,如果用户安装了2GB的内存,系统将腾出多达3GB的硬盘空间作为虚拟内存。但从目前主流应用软件和游戏的内存需求来看,并不需要使用那么多虚拟内存。那么,有没有什么秘诀或者窍门,可以让虚拟内存的使用效率更高,或者表现出更多的性能呢?

1,分多个硬盘

在更快的硬盘上设置虚拟内存,确实可以让虚拟内存的运行更高效。但是,如果一台电脑上的两个硬盘速度一样快,那么虚拟内存应该均匀分布在两个不同的硬盘上(而不是同一个硬盘的不同分区)。因为同步读写操作会更有效的提高整个系统的虚拟内存性能。

举个例子,假设你原来在硬盘C上设置了700MB的虚拟内存,现在可以尝试重新分配,也就是把硬盘C换成350MB,在硬盘d上增加350MB的虚拟内存,理论上这样会整体加快虚拟内存的读写操作。

2.硬盘应该有足够的空间。

如果你不是经验丰富的电脑用户,或者没有特殊的使用需求,在Windows XP中选择“系统管理大小”的方法来自动处理虚拟内存,应该比一般情况下选择“自定义大小”的方法更安全稳定。但是,一定要注意一点。因为虚拟内存的“pagefile.sys”会随着电脑的使用而收缩和膨胀,为了让系统能够流畅灵活地管理虚拟内存,需要保证页面文件所在的硬盘有足够的空闲空间。

3.最小值等于最大值。

选择“自定义大小”的方法来处理虚拟内存,并将最大值和最小值设置为相同的值。许多人认为以这种方式处理虚拟内存将有助于提高系统的性能。他们持有的理由是,当最大值和最小值相等时,系统不需要一直收缩和扩展页面文件。节省这些工作,相应地提高系统效率。

很多人坚信这种方法是有效的,但同样,也有人指出这种方法实际上是无效的。但无论如何,要想让最大值和最小值相等,就必须坚持一个原则,就是虚拟内存的大小必须足够,否则系统的效率会降低(需要更多的复制动作来腾出空间),更严重的是系统会不稳定。

4、组织页面文件

文件数据长时间存储在硬盘上,自然会出现文件碎片。为了保持或提高硬盘的工作效率,你应该时常整理硬盘。所谓的虚拟内存,其实就是硬盘上的一个数据文件,那么虚拟内存是不是也应该像普通文件一样需要排序?

Windows系统处理页面文件(即虚拟内存)的方式与普通文件不同。相比之下,页面文件比一般文件碎片少,所以通常不需要组织页面文件。实际上,Windows XP对磁盘进行碎片整理时,不会涉及页面文件。

虽然Windows没有组织页面文件,但实际上,页面文件中是有碎片的。追求“完美”的朋友可能还是要对页面文件进行碎片整理。你不妨试试以下方法:

在桌面“我的电脑”图标上点击鼠标右键,在随后出现的功能菜单中选择“属性”。进入系统属性的设置窗口,用鼠标点击“高级”->“性能”->;"设置"->;"高级"->;更改,并在随后出现的虚拟内存设置窗口中选择“无分页文件”项。最后,单击“设置”按钮退出并重启计算机。

重启后检查磁盘根目录下是否还有pagefile.sys页面文件,如果有就删除。清除虚拟内存的页面文件后,现在整理磁盘碎片。完成后,按照前面的步骤重新设置一定量的虚拟内存,启动电脑使其生效。经过上面的方法,新获得的页面文件将是无碎片的。

另外,想看页面文件碎片的细节怎么办?启动磁盘碎片整理程序,用页面文件分析硬盘,然后点击查看报告查看页面文件碎片栏。

5.虚拟内存的理想大小

如果要通过“自定义大小”来处理虚拟内存,应该设置多少虚拟内存?在Windows XP中,如果虚拟内存是由操作系统自己定义的,系统通常会将最小值设置为65438+物理内存的0.5倍。扩展时,最大值在物理内存的2.5到3倍之间。一般来说,想要自定义虚拟内存大小的用户可以参考这个比例设置。

真的要参考这个比例吗?如果电脑有1GB的内存,将最小值设置为1.5GB,最大值设置为2.5到3GB是否有困难?就这样。Pagefile.sys页面文件至少1.5GB,不现实!

其实大内存的系统和小内存的系统相比,在设置虚拟内存的时候有一些不同的标准。

如果你有超过512MB甚至1GB的内存,由于物理内存已经相当充足,所以需要的虚拟内存应该会减少。因此,在大型内存系统中,虚拟内存的最小值可以设置为物理内存的一半。比如有1GB内存,虚拟内存的最小值设置为512MB,最大值维持在3GB以备不时之需。注意:尽管最大值设置为3GB,但3GB大小的pagefile.sys文件不会立即出现。其实它会先出现在最小值,需要扩展的时候会递增。

另外,一些内存大的朋友可能干脆不设置虚拟内存,从而迫使系统使用更快的内存。其实这并不是很明智。俗话说,凡事不要做得太绝对,甚至完全不用虚拟内存。原因是很多应用在设计的时候就必须使用虚拟内存,没有虚拟内存系统就会不稳定或者崩溃。

至于内存小的系统,比如256MB,1.5倍3倍的设置比例最稳定。也就是说,虚拟内存的最小值设置为384MB,最大值为768MB。

6.手动定制最精确的虚拟内存。

0.5倍,1.5倍,3倍,哇!好像买大中小码的衣服一点个性都没有。有没有更“量身定制”的方式来设置虚拟内存?

在Windows XP桌面的开始→运行中输入perfmon.msc,会出现一个与系统性能相关的监视器。看监视器的底部,有三个计数器(页面/秒,平均。磁盘队列长度和处理器时间)。为了准确监控虚拟内存的页面文件,请逐个选择这三个计数器,按键盘上的Delete键删除。请放心,这三项在删除后下次启动系统性能监视器时会重新出现。

删除后,请在图表中央点击鼠标右键,在后续功能菜单中点击“添加计数器”,然后在弹出窗口的“绩效对象”栏中选择“流程”。然后单击“从列表中选择”列中的“页面文件字节”。我不知道“页面文件字节”是什么意思。只需点击“描述”按钮,解释文本就会出现在对话框下方。

选择“页面文件字节数”,然后在右边的“从列表中选择示例”一栏中选择“总计”,然后依次点击“添加”和“关闭”,性能监视器的下部会出现一个名为“页面文件字节数”的计数器。

重复上述动作,然后添加一个名为“页面文件字节峰值”(即进程下的页面文件字节峰值)的计数器。

现在,回头看看监视器,图表应该显示和测量两个新添加的计数器。如无意外,两个计数器在图表上显示错误,即数值接近最高比例线,没有动态变化。不要怕,这不代表你的电脑有问题,而是图表的刻度设置不合适!用鼠标右键依次单击监视器底部的“页面文件字节”和“页面文件字节峰值”计数器,并选择“属性”。在“数据”页面的“比例”栏中将其改为0.0000001,这样显示中的图表就不再沉默。

如果你看过系统提供的说明,相信你应该知道“页面文件字节”和“页面文件字节峰值”代表系统监控时使用的虚拟内存及其峰值。因此,需要手动准确设置虚拟内存。请参考图表底部显示的数字,其单位为字节。

想知道正常情况下你的系统会消耗多少虚拟内存?请同时启动日常应用软件并让它们开始工作,然后看看性能监视器上显示的数值,这样就可以心中有数了。

人总是疯狂的,在疯狂使用电脑的时候,想知道系统需要多少虚拟内存。现在启动运行电脑上的程序(比如打开十几个IE浏览器窗口上网,播放MP3和DVD电影,然后刻录CD或者压缩编码DV电影)看看显示器的百分比会增加多少。

在图表上点击鼠标右键,点击“属性”,进入“图表”页面查看“水平网格”。这样,图表中就会出现水平分割线。容易分辨吗?

图表中红色竖线运行速度太快,无法在电脑上启动程序进行测试?

同样,右键单击图表并选择“属性”,将常规页面上“自动采样间隔”项中的1秒更改为5秒。此时,图表中的数字时间将从1分40秒变为8分20秒。换句话说,红色竖线走完一圈需要8分20秒,这个时间应该足够大家打开运行很多应用,然后在图表中慢慢查看结果。

最后,通过显示器的图表,相信大家也能大致估算出你的电脑系统应该设置多少虚拟内存。

三、“虚拟内存不足”的几种可能

1,感染了病毒

有些病毒攻击时会占用大量内存空间,导致系统内存不足的问题。去杀毒,升级病毒库,然后做好杀毒措施!

2.虚拟内存设置不正确。

虚拟内存设置不当也可能导致内存不足。一般来说,虚拟内存的大小只是物理内存大小的两倍。如果设置过小,会影响系统程序的正常运行。调整虚拟内存的大小。以WinXP为例。右键单击我的电脑,选择属性,然后在高级选项卡中,单击性能框中的设置按钮,切换到高级选项卡,然后单击虚拟内存框中的更改按钮,然后重置虚拟内存大小。之后,重启系统即可。

3、系统空间不足

默认情况下,虚拟内存文件位于系统盘中。比如WinXP的虚拟内存文件名是“pagefile.sys”。如果系统盘剩余空间太小,虚拟内存就会不足,也会出现内存不足的问题。系统盘至少要预留300MB的剩余空间,当然这个值要看用户的实际需求。用户尽量不要在系统盘上安装各种应用软件,保证虚拟内存文件有足够的空间,最好把虚拟内存文件放在非系统盘上。

4、因为系统用户权限设置不当。

基于NT内核的Windows系统启动时,系统用户会为系统创建一个虚拟内存文件。有些用户为了系统的安全使用NTFS文件系统,但是他们取消了系统用户在系统盘上“写”和“修改”的权限,所以无法为系统创建虚拟内存文件,运行大型程序时会出现内存不足的情况。问题很容易解决,只要再次给系统用户“写”和“修改”的权限,但这仅限于使用NTFS文件系统的用户。

第四,虚拟内存的优化

1.启用磁盘写缓存

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

这个选项会激活硬盘的写缓存,从而提高硬盘的读写速度。但需要注意的是,开启该功能后,如果电脑突然断电,可能会导致无法挽回的数据丢失。所以有UPS的情况下最好开启这个功能。当然,如果你在使用电脑的时候不做任何重要的数据处理,没有UPS也没关系。这个功能不会对系统造成太大的损失。

2.开放超MDA

在设备管理的IDE ATA/ATAPI控制器中选择“基本/辅助IDE控制器”,右键选择“属性”,打开“高级设置”页面。这里最重要的设置项是“传输模式”,一般要选择“DMA(如果有的话)”。

3.配置恢复选项

当Windows XP在运行过程中遇到致命错误时,它会将内存的快照保存为文件,以供系统调试。对于大多数普通用户来说,这个文件没什么用,但是会影响虚拟内存的性能。所以应该关门了。

右键单击我的电脑,选择属性->;高级,单击性能下的设置按钮,并选择性能选项中的高级页面。这里有一个“内存使用”选项。如果设置为“系统缓存”,Windows XP将使用4MB左右的物理内存作为读写硬盘的缓存,可以大大提高物理内存和虚拟内存之间的数据交换速度。默认情况下,该选项是关闭的。如果电脑有足够的物理内存,如256M或更多,最好打开此选项。但是,如果物理内存紧张,您仍然应该保留默认选项。

页面文件的设置

首先,页面文件大小的计算

对于不同的计算机,页面文件的大小是不同的。设置页面文件大小有两个流行的公式,“物理内存X2.5”或“物理内存X1.5”。这两种计算方法虽然简单,但并不适用于所有的计算机。设置页面文件大小最准确的方法是查看计算机在正常操作中实际使用的页面文件大小。

通过Windows XP的日志功能,可以监控电脑常用页面文件的大小,从而做出最准确的设置。具体步骤如下。

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

2.进入"控制面板->;性能和维护->;管理工具性能性能日志和警告计数器日志。右键单击窗口并选择新建日志设置。

3.随便设置一个日志名,比如“监控虚拟内存大小”。

4.单击“常规”页面中的“添加计数器”按钮。

在性能对象中选择分页文件,然后在从列表中选择计数器下选择%使用率峰值,并在右侧的从列表中选择示例中选择_Total。最后,单击添加和关闭按钮。

5.不要忘记在日志文件页面中记住日志文件的存储位置和文件名。稍后,您需要检查这个日志来确定Windows XP通常使用多少虚拟内存。在此示例中,日志文件存储在D:\Perflog目录中。

此外,将日志文件类型设置为文本文件,以便于阅读。

此时,您可以看到新创建的日志条目前面的图标变成绿色,这表明日志系统已经在监控虚拟内存。如果图标仍然是红色的,您应该单击鼠标右键并选择“开始”来启动此日志。

过一会儿打开这个CVS文件,您可以看到以下条目。

该日志文件记录了这段时间内页面文件的使用情况。注意这里的单位是%,不是MB。通过简单的计算,可以得出页面文件的最小大小,公式为“页面文件大小x百分比”。比如这个例子中,虚拟内存的最大利用率是365,438+0%,300MBx365,438+0% = 93mB,这是虚拟内存的最小值(注意300mB是之前设置的临时值)。

如果物理内存很大,可以考虑将页面文件的“起始大小”和“最大大小”设置为等于上一步计算的大小。这样硬盘就不会因为页面文件的过度膨胀而碎片化,其副作用就是“最大值”设置的很小,万一意外虚拟内存溢出可能导致系统崩溃。

设置页面文件

现在回到虚拟内存的设置对话框,选择一个自定义大小,根据上面的计算结果分别设置初始大小和最大值。这里“初始大小”设为91M,“最大值”设为200M,比较安全。

整理页面文件碎片。

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

但是别忘了,页面文件是系统的关键文件,是Windows XP运行时无法访问的。所以整理它并不是一件容易的事情。有两个选择。一种是安装Windows双系统,然后启动另一个Windows对Windows XP所在的分区进行碎片整理。第二种是使用特殊的工具和软件,比如系统文件碎片整理程序。