2022了年,现在的Windows虚拟内存是什么?
微软官方说了这样一句话:现在的Windows虚拟内存已经不仅仅是分页文件,它承担了更多的功能。(大概是这个意思)
我的想法:
现在的Windows系统C盘是必须要有虚拟内存的,但是它是按“物理盘”划分的,而不是“磁盘”,也就是说,你有一个X硬盘,分成两个区域,一个装系统成为C盘,另一个装软件成为了D盘,这个时候,系统会自动在C盘设置一个虚拟内存,而如果你需要在D盘扩展虚拟内存,它就会和C盘的虚拟内存划分在一起,也就是X硬盘的同一连续物理地址。
现在,基本上物理内存已经够用,但是某些大型软件是无论如何都会需要虚拟内存,例如PR,AE,intellij Idea等,就需要用户在此类软件所在盘设置一定量的虚拟内存以供程序正常运行
有人问,为什么我软件安装在D盘没设置虚拟内存也没报错啊?这就是之前所说的,其实D,C盘是同一个物理硬盘,D盘软件调用虚拟内存是可以成功调用C盘的虚拟内存的,但是,如果你加了另一个新硬盘,新建磁盘分区叫E,它和CD不是同一个硬盘,那么这个时候你如果去运行一些大型软件,就会很容易出现内存报错,此时就需要对软件所在盘添加虚拟内存了。
还有一个有意思的现象:
Windows10为例
1.
WIN10新系统一般会设置成“✔自动管理所有······”,然后系统就会只在C盘设置一个2G左右的分页文件,但是你如果去取消最上面的✔,而去下面设置成“托管的系统”你会发现,有些时候需要重启,而有些时候不需要,
尝试一下你就会发现,分页文件是按物理硬盘划分每一个物理硬盘会有一块虚拟内存(如果你设置了),所以前一段中提到的,D盘中设置虚拟内存,就可以不用重启系统直接设置成功,而C,E盘则需要重启系统才行。
对于大型应用程序,当涉及到数据处理(图像也是一种数据),就会把一些程序判断为“暂时用不到”的数据写入“缓存”,大部分程序都是默认用户安装在C盘的,这也就是为什么很多软件即使你安装在D,E,F等等其他位置,也会在C盘user目录下有文件的原因。
如果这个时候,win默认的仅仅1,2个G的虚拟内存用完了,电脑物理内存也用满了,那么程序需要更多虚拟内存或是物理内存时就有可能报错。
2.
尝试去把每个分区(磁盘)都是设置成“托管”,你会发现,Windows会把它们(所有分页文件加起来 + 物理内存)凑成一个整数值,而不是“自动管理”时候的一个奇怪的带小数的值。例如16G(系统识别15.9G)物理内存,电脑两个硬盘,三个分区CDE盘,系统会凑成24G的总内存,也就是8.1G的虚拟内存。
以上个人见解,欢迎讨论