注意 此站点为镜像站,不是主站,工程师如果需要浏览最新知识,请点击这里,或复制域名 https://kb.edianzu.cn:90 使用浏览器打开

虚拟内存是什么

2 (73).jpg


虚拟内存别称虚拟存储器(Virtual Memory)。是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。

电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。

当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。虚拟内存并不是“物理内存第二”,严格意义上,应该称之为“分页文件”,当物理内存无法满足当前需要时,分页文件就会自动充当内存实现部分物理内存功能,即是分页文件的扩充内存功能。

举例“如果没有虚拟内存时,程序地址直接映射到物理内存。假如内存为1G,程序A运行时占用了1GB,此时再启动程序B时,发现没有内存空间可用,就导致崩溃。

- 虚拟内存:通过Map来查找程序地址对应的物理内存地址。

image.png