【资料图】
用电脑的朋友应该都知道虚拟内存,比一些年轻的朋友要老。早在windows2000的时候,虚拟内存选项就存在了。虽然我们总是看到这个东西,但是很多朋友不明白虚拟内存是干什么用的,那么虚拟内存到底是什么呢?
其实虚拟内存最早存在是因为当时电脑内存有限,系统和CPU都是32位,32位支持的物理内存极限是3.25G在处理一些大型应用的时候,虚拟内存就应运而生了。虚拟内存实际上是把硬盘空的一部分划分出来作为内存使用,放在内存读取顺序的最后一个优先级。应用程序自以为是在一个连续完整的物理内存空,但实际上程序已经被分成了多个物理内存块,有些块存储在虚拟内存中,也就是硬盘预留的空空间。
所以只有windows有这个功能?其实这个功能在linux上也是存在的,只不过它的名字不是虚拟内存,而是“Exchange 空 Room”,原理和功能是一样的。那么它的详细原理是什么呢?我们知道即使开启了虚拟内存,硬盘上也不会有很多文件。其实原理是这样的:CPU先查询应用的数据是否存在于物理内存中,如果存在就直接调用。如果没有,就会放入硬盘,这些文件不会直接放入硬盘的正常位置,而是放入一个名为Pagefile.sys的文件中;当程序所需的数据在物理内存中找不到时,虚拟内存中的文件将被转移回物理内存。
说了这么多,怎么设置虚拟内存?根据目前的建议,建议将虚拟内存的大小设置为1。在大多数情况下是物理内存的3倍。虽然windows会自动为您设置虚拟内存的大小,但您仍然可以手动设置。现在大家都进入了64位时代,大家的电脑内存容量越来越大,16G已经成为一个正常水平。虚拟内存有存在的必要吗?
其实有,但不是所有情况下都有。在我们的日常使用中,16G内存足以支持我们完成大部分工作,但虚拟内存的存在有时与物理内存的大小无关。比如深度学习、科学实验计算等应用,他们的软件会自动把大量数据放到虚拟内存中。用过这类软件的细心用户应该会发现,无论内存多大,虚拟内存中总有几个G的数据。
这部分数据不放入内存的原因很简单:调用次数不多,占用空的巨大空间。软件会自动为你放虚拟内存节省物理内存的空间空,这在某种程度上是一把双刃剑。如果关闭虚拟内存,会使软件不适应,产生问题。另外,高计算软件会非常吃内存,虚拟内存的存在就是为了满足这类软件的内存摄入。有些软件甚至对虚拟内存有针对性的要求,虚拟内存软件不打开就会报错。
总的来说,虚拟内存已经成为我们系统使用中的一个重要功能。即使很多软件只能使用1G内存,也要分配一部分给虚拟内存。如果关闭,甚至会导致软件崩溃。按照我们目前的内存容量,建议8G内存配20G虚拟内存,16G内存24G就够了。如果过大,硬盘会大规模连续读写,严重降低硬盘寿命。