换一批

虚拟内存

虚拟内存是计算机系统内存管理的一种技术,目前,大多数操作系统都使用了虚拟内存。它可以让应用程序认为它拥有连续的可用的内存,但其实它只是被分隔成多个物理内存碎片。

经验文章 概述

  虚拟内存的介绍

  虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。Windows 8/8.1 操作系统如出现开机时卡在Windows徽标页面,无法进入系统,必须强制关机再重启才能打开时,可适当调整虚拟内存设置解决。

  如何确定虚拟内存大小

  1.新手篇

  由系统或系统优化软件分配或设置为物理内存的1.5-3倍。相对于设置步骤复杂的Linux系统,Windows系统下对虚拟内存的设置比较简单:

  ①在我的电脑图标上单击右键,选择属性。

  ②在系统属性窗口中选择高级,在性能区域中单击设置按钮。

  ③在性能选项中选择高级,在虚拟内存区域中单击更改按钮。

  ④选择一个比较空闲的分区用来存放虚拟内存的Pagefile.sys文件。

  ⑤在自定义大小区域中设置虚拟内存的大小为物理内存的1.5倍到3倍。

  2.老手篇

  事实上,严格按照1.5-3倍的倍数关系来设置并不科学,因此我们可以根据系统的实际应用情况进行设置。在这过程中需要用到Windows 2000/XP Pro/2003自带的性能监视器。

  ①运行“perfmon.msc”打开性能监视器,展开左侧的性能日志和警报,并点击选择计数器日志,在右侧的面板中空白处点击鼠标右键,选择新建日志设置,并命名为Pagefile,然后回车确认。

  ②在常规选项卡下,点击添加计数器按钮,在新弹出的窗口的性能对象下拉菜单中选择Paging File,并选择“从列表选择计数器”,然后点击% Usage Peak,在范例中选择“_Total”,并接着点击“添加”按钮。

  ③然后关闭这个窗口,并点击图三中的“确定”按钮。点击“是”创建日志文件。接着打开“日志文件”选项卡,在日志文件类型下拉菜单中选则“文本文件(逗号分隔)”,然后记住“例如”框中显示的日志文件的路径。

  ④这样,点击确定后这个计数器已经开始运行了,你可以在电脑上进行你的日常操作,并尽可能多的打开和关闭各种经常使用的应用程序和游戏。经过几个小时的使用,基本上计数器已经可以对你的使用情况做出一个完整的评估。

  ⑤这时你需要先停止这个记数器的运行,同样是在计数器日志窗口中,选中我们新建的Page File记数器,然后右键点击,并且选择停止。用记事本打开日志文件。

  ⑥需要注意的是,在日志中的数值并不是分页文件的使用量,而是使用率。也就是说,根据日志文件的显示,该系统一般情况下的分页文件只使用了25%左右,而系统当前设置的分页文件足有2GB,那么为了节省硬盘空间,完全可以把分页文件最大值缩小为512MB大小。而对于最小值,可以先根据日志中的占用率求出平均占用率,然后再与最大值相乘,就可以得到了。

  虚拟内存的虚实地址

  实地址与虚地址

  用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。

  虚存的访问过程

  虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存。由此可见,每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间。前一种情况以提高存储容量为目的,后一种情况则以地址变换为目的。后者通常出现在多用户或多任务系统中:实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度。

  虚拟内存的变换算法

  虚拟存储器地址变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。

  任何逻辑空间页面能够变换到物理空间任何页面位置的方式称为全联想变换。每个逻辑空间页面只能变换到物理空间一个特定页面的方式称为直接变换。组联想变换是指各组之间是直接变换,而组内各页间则是全联想变换。替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。常见的替换算法有4种。

  ①随机算法:用软件或硬件随机数产生器确定替换的页面。

  ②先进先出:先调入主存的页面先替换。

  ③近期最少使用算法(LRU,Least Recently Used):替换最长时间不用的页面。

  ④最优算法:替换最长时间以后才使用的页面。这是理想化的算法,只能作为衡量其他各种算法优劣的标准。虚拟存储器的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率,程序局部性和替换算法等因素有关。

  虚拟内存的位置

  在设置虚拟内存的时候还需要注意,如果你有超过一块硬盘,那么最好能把分页文件设置在没有安装操作系统或应用程序的硬盘上,或者所有硬盘中速率最快的硬盘上。这样在系统繁忙的时候才不会产生同一个硬盘既忙于读取应用程序的数据又同时进行分页操作的情况。相反,如果应用程序和分页文件在不同的硬盘上,这样才能最大程度降低硬盘利用率,同时提高效率。当然,如果你只有一个硬盘,那么把页面文件设置在其他分区,也不会有提高磁盘效率的效果。

相关文章

手机页面
收藏网站 回到头部