“虚拟内存”(虚拟页式存储管理方案):一种内存管理的技术方式,在电脑的物理内存不够用时把一部分硬盘空间作为内存来使用。虚拟内存顾名思义,就是虚构的内存地址空间

原理:被分隔成多个物理内存碎片,还有部分暂时储存在外部磁盘储存器上,在需要时进行数据交换。

工作原理

程序执行的原理

操作系统为每个进程提供了一个假象:它拥有属于自己的大量的私有内存,可以有巨大的连续地址空间放入自己的代码和数据。用户程序中访问的地址都是虚拟地址,需要经过操作系统和硬件的协同工作将这个虚拟地址翻译为物理地址,找到想要的信息。

现代计算机系统都配有高速可随机访问存储器,称为主存储器、物理内存或者直接称为内存。内存是用于存放代码和数据的硬件,它是处理器能直接寻址的存储空间存取速率快。内存的承载实体通常是随机存取存储器(RAM)CPU可以直接与RAM交换数据。RAM在工作状态下,可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。

CPU通常生成一个虚拟地址(VA)来访问主存,这个虚拟地址被加载到内存之前,需要先查表转换成物理地址(PA),最终CPU间接的访问了内存的这个物理地址(PA)。

程序被执行前需要先将程序放到内存中才能被CPU处理

程序运行时会将保存在硬盘上的程序复制到RAM内存(载入内存),然后CPU执行内存中的程序代码。如果执行的程序占用内存很大或很多,或同时执行多个程序,就会导致内存消耗殆尽。从而导致程序执行异常或崩溃。

虚拟内存工作原理

进程在运行时的地址空间实际上是一层逻辑抽象的连续地址。当进程开始运行时,先将一部分程序装入内存,另一部分暂时不需要实际物理内存的暂时留在外存,暂不分配实际物理内存;当要执行的指令不在内存时,由系统自动完成将它们调入内存的工作。

内存管理:自动交换技术)当没有足够的内存时,系统自动选择部分内存(暂不执行的程序)空间,将其中原有的内容交换到磁盘(硬盘)上,并释放其所占用的实际物理内存供其他进程使用。这样做的结果使程序的运行丝毫不受影响,使程序在运行中感觉到拥有一个不受内存容量约束的、虚拟的、能够满足自己需求的存储器。

  • 页面置换算法:参看《操作系统》。

虚拟内存给予应用程序强大的能力,应用程序可以创建和销毁内存片,应用程序可以将内存片映射到磁盘文件中,应用程序可以与其它进程共享内存

作用

替代物理内存的部分工作来运行程序,电脑就可以运行更多的程序,同时执行更多的任务。

虚拟内存并不是内存的后备那么简单,很多时候Win会利用虚拟内存执行一些特定的操作,提升内存的命中率和系统的稳定,尤其是一些比较吃内存的软件,如Photoshop、3Dmark,以及一些3D游戏等,在运行时也会需要虚拟内存。

缺点

但是频繁换入换出仍然是性能的瓶颈。为了减缓换入换出带来的影响,增加可用物理内存和增加外存的访问速度是两种可选方案。

特点

  1. 价格低廉、容量大。虚拟内存实际是硬盘的空间,其相同空间的价格要比物理内存低廉。
  2. 运行效率低。硬盘传输的速度要比内存传输速度慢的多。
  3. 断电后数据丢失。和物理内存一样,在突然断电后,虚拟内存中的数据就会丢失,不具有硬盘(外部存储器)断电的保存功能。

系统空间设置

我们可以自己使用电脑的实际情况来不断调整设置电脑虚拟内存的大小,设置的过小就会不够用,设置的过大就会产生过多的碎片,影响电脑运行速度

建议:电脑实际物理内存的1.5倍到3倍之间。也可以让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。

CPU 内存虚拟化 内存虚拟技术_内存

Win10怎么设置虚拟内存?

win10虚拟内存设置多少合适?这样设置就最好!