许多计算机对虚拟内存设置一无所知。设置虚拟内存最好的方法是什么?下面是虚拟内存的正确设置方法。让我们来看看边肖。
虚拟内存设置教程
设置虚拟内存的最佳方式:
根据计算机内存的大小和特性,可以分为以下几种:
a、电脑内存小于256M,其虚拟内存应设置为物理内存的两倍。
b、电脑内存大于256M,其虚拟内存应设置为物理内存的1.5倍。
C.如果电脑内存大于512M小于1G,其物理内存可以满足需求,虚拟内存可以设置为与物理内存相同的值。
d、如果物理内存等于或大于1G,其物理内存已经相当充足,需要的虚拟内存应该会减少。比如电脑物理内存为1G时,其虚拟内存应设置为512MB,最大值设置为3GB以备不时之需。
虚拟内存设置方法
找到“我的电脑”;点击“属性”;点击“高级”;点击“性能”;设置;选择“高级”;点击“更改”;会弹出虚拟内存设置窗口;按照前面提到的关于内存设置的值来设置就可以了;设置完成后,按确定,应用;重启电脑就完成了。
虚拟内存设置
减轻记忆负担
第一,尽量不要打开太多程序。打开的程序太多会导致内存过载。
第二,注意删除不想主动加载的启动项。具体方法是:点击“开始”;跑步;输入“Msconfig”;确定打开系统配置实用程序窗口;删除不想主动加载的启动项。
关于虚拟内存
虚拟内存是一种计算机系统内存管理技术。它使应用程序认为自己有连续的可用内存(一个连续完整的地址空间),但实际上它通常被分成多个物理内存碎片,其中一部分临时存储在外部磁盘存储上,以备需要时进行数据交换。目前大部分操作系统使用的都是虚拟内存,比如Windows家族的“虚拟内存”;Linux的“交换空间”等。
如果Windows 8/8.1操作系统在启动时卡在Windows logo页面,无法进入系统,必须强制关机重启才能开机,可以通过适当调整虚拟内存设置来解决。
技术介绍
虚拟内存称为虚拟内存。计算机中运行的程序都需要通过内存来执行。如果执行的程序占用了大量内存,内存就会被耗尽。为了解决这个问题,Windows中使用了虚拟内存[2]技术,即留出一部分硬盘空间作为内存使用。内存耗尽时,电脑会自动调用硬盘充当内存,缓解内存紧张。如果计算机运行程序或操作所需的随机存取内存(RAM)不足,Windows将使用虚拟内存进行补偿。它将计算机的RAM与硬盘上的临时空间结合在一起。当RAM运行缓慢时,它将数据从RAM移动到一个称为分页文件的空间。将数据移入分页文件可以释放RAM来完成工作。一般来说,计算机的RAM容量越大,程序运行的速度就越快。如果由于可用RAM空间不足而导致计算机速度变慢,您可以尝试通过增加虚拟内存来进行补偿。但是计算机从RAM中读取数据的速度要比从硬盘中读取数据的速度快,所以扩充RAM的容量(可以加内存条)是最好的选择。
虚拟内存是Windows用作内存的硬盘空间的一部分。虚拟内存实际上是硬盘上的一个巨大文件。文件名是PageFile。Sys,通常是不可见的。您必须关闭系统文件资源管理器的保护功能才能查看该文件。虚拟内存有时被称为“页面文件”,它来自于文件名。
[2]内存在计算机中起着重要的作用。计算机中所有正在运行的程序都需要通过内存来执行。如果执行的程序很大或很多,内存将被耗尽。为了解决这个问题,WINDOWS使用了虚拟内存技术,即拿出一部分硬盘空间作为内存使用,称为虚拟内存,虚拟内存在硬盘上的存在形式是页面文件。[计]系统复制命令(system的简写)
操作原理
[3]虚拟内存由硬件和操作系统自动调度和管理。其工作过程包括六个步骤:
(1)将中央处理器(CPU)在主存储器中访问的逻辑地址分解为组号A和组内地址B,对组号A的地址进行变换,即以逻辑组号A为索引,查地址变换表,确定该组信息是否存储在主存储器中。
如果组号已经在主存储器中,则执行;如果组号不在主存储器中,检查主存储器中是否有空闲区域。如果没有,就调出一个暂时不用的组,送到辅存,这样这组信息就可以转移到主存了。
从辅助存储器中读取所需的组并发送到主存储器的空闲区,然后在地址转换表中注册空闲的物理组号A和逻辑组号A。
从地址转换表中读取与逻辑组号A对应的物理组号A。
从物理组号A和组内字节地址B中获取物理地址。
根据物理地址从主存储器中访问必要的信息。
有三种调度模式:分页模式、分段模式和分段分页模式。页面调度是将逻辑和物理地址空间划分成固定大小的页面。主存按照页序编号,每个独立寻址的程序空间都有自己的页号序列。通过在辅助存储器中调度程序的每一页,可以把它离散地装入主存中不同的页位置,并可以根据表逐一查找。页面调度的优点是页面中的分数小,页表对程序员透明,地址变化快,调入操作简单;缺点是每个页面都不是程序的独立模块,不方便实现对程序和数据的保护。段调度根据程序的逻辑结构划分地址空间,段的长度是任意的,并且允许扩展。其优点是消除了内存碎片,易于实现存储保护,便于程序的动态组装。缺点是呼入操作复杂。这两种方法的结合构成了段页面调度。在段页面调度中,物理空间被划分为页面,程序按模块划分,每个段被划分为与物理空间页面一样小的页面。段调度结合了段调度和页面调度的优点。其缺点是增加了硬件成本,软件复杂。大多数通用计算机系统采用段页调度。
虚拟和真实地址
真实地址和虚拟地址
[3]用户在编程时使用的地址称为虚拟地址或逻辑地址,其对应的存储空间称为虚拟内存空间或逻辑地址空间;计算机物理内存的访问地址称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存储空间。将程序的虚拟地址转换成真实地址的过程称为程序重定位。
虚拟内存访问过程
虚拟存储空间中的用户程序根据虚拟地址被编程并存储在辅助存储器中。当程序运行时,地址翻译机制根据当时分配给程序的实地址空间,将程序的一部分转移到实内存中。每次访问内存时,首先判断虚拟地址对应的部分是否在真实内存中,如果是,则进行地址转换,用真实地址访问主内存;否则,按照某种算法,把辅存中的一些程序调度到内存中,然后用同样的方法访问主存。可以看出,每个程序的虚拟地址空间可以比真实地址空间大得多,也可以比真实地址空间小得多。前一种情况旨在提高存储容量
[3]从虚拟内存的概念可以看出,主存-辅存的访问机制类似于cache-主存。这是由高速缓冲存储器、主存储器和辅助存储器组成的三级存储系统中的两级。缓存和主存之间、主存和辅存之间有辅助硬件和辅助软硬件,负责地址翻译和管理,使各级存储器形成有机的三级存储系统。缓存和主存构成系统的内存,主存和辅存在辅助硬件和软件的支持下构成虚拟内存。
在三级存储系统中,缓存-主存和主存-辅存有很多相似之处:
(1)出发点是一致的:两者都是为了提高存储系统的性价比而构建的层次化存储系统,两者都试图使存储系统的性能接近高速存储,而价格和容量接近低速存储。
(2)原理相同:都是利用程序运行时的局部性原理,将最近使用的信息块从相对较慢的大容量内存转移到相对较高速的小容量内存中。
然而,高速缓存-主存储器和主存储器-辅助存储器之间有许多不同之处:
(1)侧重点不同:cache主要解决主存和CPU的速度差异;就性价比而言,虚拟内存主要解决存储容量问题,还包括存储管理、主存分配和存储保护。
(2)数据路径不同:CPU、缓存和主存之间有直接访问路径,缓存未命中时可以直接访问主存;然而,在虚拟内存所依赖的辅助内存和CPU之间没有直接的数据通路。当主存未命中时,只能通过分页来解决,CPU最终会访问主存。
(3)透明性不同:缓存的管理完全由硬件完成,对系统程序员和应用程序员都是透明的;然而,虚拟内存管理是由软件(操作系统)和硬件共同完成的。由于软件的介入,虚拟内存对于实现存储管理的系统程序员是不透明的,而对于应用程序员只是透明的(基于段和基于段的管理对于应用程序员是“半透明”的)。
(4)未命中损失不同:由于主存的访问时间是cache的5 ~ 10倍,而主存的访问速度通常比辅存快上千倍,所以主存未命中时系统的性能损失远大于cache未命中时。
问题的答案
【3】(1)调度问题:决定哪些程序和数据应该转移到主存。
(2)地址映射问题:访问主存时将虚拟地址变为主存的物理地址(这个过程称为内部地址转换);当访问辅助存储器时,为了改变页面,虚拟地址被改变成辅助存储器的物理地址(这个过程被称为外部地址转换)。此外,还要解决主存分配、存储保护、程序重定位等问题。
(3)替换问题:决定哪些程序和数据要调出主存。
(4)更新问题:保证主存储和辅存储的一致性。
在操作系统的控制下,硬件和系统软件为用户解决上述问题,从而大大简化了应用程序的编程。
调度简介
页面调度
1.页面虚拟内存地址映射在页面虚拟内存系统中,虚拟地址空间被划分为等长的页面,这些页面被称为逻辑页面;主存空间也被分成大小相同的页,称为物理页。相应地,虚拟地址被分成两个字段:高位字段是逻辑页号,低位字段是页内的地址(偏移量);实际内存地址也分为两个字段:高位字段是物理页号,低位字段是页内地址。虚拟地址(逻辑地址)可以通过页表转换成物理地址。
在大多数系统中,每个进程对应一个页表。在页表中,每个虚拟内存页都有一个条目。条目的内容包括虚拟存储器页面所在的主存储器页面的地址(物理页面号),以及指示逻辑页面是否已经被传送的有效位
2.翻译备份缓冲区由于页表通常在主存中,所以即使逻辑页已经在主存中,要实现一次内存访问也至少需要访问物理内存两次,这样会使虚拟内存的访问时间增加一倍。为了避免增加对主存的访问次数,可以对页表本身实现二级缓存,将页表最活跃的部分存储在高速存储器中,形成快速表。这种专用于页表缓存的缓存单元通常被称为翻译后备缓冲区(TLB)。存储在主存中的完整页表称为慢表。
3.内部页表是虚拟地址到主存物理地址的转换表,通常称为内部页表。与内页表相对应的是外页表,用于虚拟地址和辅助存储器地址之间的转换。当主存缺页时,分页操作首先要定位辅存,外部页表的结构与辅存的寻址机制密切相关。例如,对于磁盘,二级存储地址包括磁盘驱动器号、磁头号、磁道号和扇区号等。
分段调度
Section [3]是一个长度可以根据程序的自然边界动态变化的区域。通常,程序员将子程序、操作数、常数等不同类型的数据分成不同的段,每个程序可以有多个相同类型的段。在段式虚拟存储系统中,虚拟地址由段号和段内地址(偏移量)组成。虚拟地址到真实主存地址的转换是通过段表实现的。每个程序设置一个段表,段表的每个条目对应一个段。每个条目至少包含以下三个字段:
(1)有效位:表示该段是否已经转移到实际内存中。
(2)段地址:当段已被传送到实存储器时,表示段在实存储器中的第一个地址。
(3)路段长度:记录该路段的实际长度。设置段字段的目的是为了保证在访问一个段的地址空间时,该段中的地址不会超过该段的长度,造成地址越界,破坏其他段。段表本身也是一个段,它可以存储在辅助存储器中,但一般驻留在主存储器中。
分段虚拟内存有许多优点:
段的逻辑独立性,便于编译、管理、修改和保护,也便于多个程序共享。段长可以根据需要动态变化,允许自由调度,从而有效利用主存空间。分段虚拟内存也有一些缺点:
由于段的长度不固定,主存空间的分配比较麻烦。段与段之间容易留下大量的外部碎片,会降低存储空间的利用率。
由于段长度不一定是2的整数次方,所以不能像分页那样简单地用虚拟地址和真实地址的最低二进制位作为段内偏移量,直接用段号拼接。必须通过加法运算将段起点和段中的偏移量相加来获得物理地址。因此,段存储管理比页存储管理需要更多的硬件支持。
分段调度
[3]段页面虚拟内存是段虚拟内存和页面虚拟内存的组合。真实内存被平均分成页面。每个程序按照逻辑结构进行分段,每个段按照实际页面大小进行分页。程序按页调入和调出,但可以按段编程、保护和共享。它将程序分成逻辑单元,然后将每个段分成固定大小的页面。程序主存的调入调出是通过页面进行的,但可以通过段进行共享和保护,兼具页面和段的优点。缺点是在映射的过程中需要多次查表。在段页面虚拟存储系统中,每个程序由一个段表和一组页表来定位。段表中的每个条目对应一个段,每个条目都有一个指向该段的页表起始地址和该段的控制和保护信息。页表指示每个页在主存储器中的位置和状态信息,例如它是否已经被加载
[3]虚拟内存地址变换基本上有三种类型:全相联变换、直接变换和组相联变换。逻辑空间中的任意页可以变换到物理空间中的任意页位置的方式称为全关联变换。每个逻辑空间页只能转换到物理空间中特定页的方式称为直接转换。组关联转换是指组之间的直接转换,而一个组中的所有页面都是关联转换。替换规则用于确定替换主存储器的哪一部分,以便腾出主存储器的一部分,并存储要从辅助存储器转移的内容的一部分。有四种常见的替换算法。
随机算法:使用软件或硬件随机数发生器确定替换页。
先进先出(FIFO):先传入主存的页面被替换。
最近最少使用算法(LRU):替换最长时间未使用的页面。
最优算法:替换最长时间后将要使用的页面。这是一个理想化的算法,只能作为衡量其他算法优劣的标准。
虚拟内存的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率、程序局部性和替换算法有关。[
内存不足
[1],病毒感染:有些病毒攻击时会占用大量内存空间,导致系统内存不足。
[2]虚拟内存设置不当:通常情况下,应该设置为物理内存大小的两倍。如果设置过小,会影响系统程序的正常运行。这时,你需要重置虚拟内存值。以Windows XP为例,右键单击我的电脑,选择属性,在高级选项卡的性能框中单击设置按钮,切换到高级选项卡,在虚拟内存框中单击更改按钮,重置虚拟内存值,然后单击。
[3],系统盘空间不足:默认情况下,虚拟内存以名为“Pagefile.sys”的交换文件存储在硬盘的系统分区中。如果系统盘剩余容量太小,就会出现这个问题。系统盘中至少要预留300MB的可用空间,当然这个值取决于用户的实际需求。尽量不要在系统盘上安装各种应用软件,保证虚拟内存文件有足够的空间,最好把虚拟内存文件放在非系统盘上。
[4],系统用户权限设置不当:基于NT内核的Windows系统启动时,系统用户会为系统创建虚拟内存文件。有些用户为了系统的安全使用NTFS文件系统,却取消了系统用户在系统盘中“写”和“修改”的权限,使其无法为系统创建虚拟内存文件。运行大型程序时也会出现这种问题。对策:重新授予系统用户“写”和“修改”权限。(注意:这仅限于使用NTFS文件系统的用户。)