随着硬件技术的不断提升、各种软件体积的膨胀,我们计算机中使用的内存(这里的内存特指物理内存,也就是我们常见的内存条)也越来越大,而且现在的大多数用户都使用的是64位的系统,轻松支持4G以上的大内存/超大内存。这样就产生了一个问题:以前WinXP时代物理内存小的时候不够用,需要借助虚拟内存来缓解物理内存的压力,那么现在我们的内存动不动都8G、16G、32G甚至更大了,还需要使用虚拟内存吗?
首先,我们先来了解一下虚拟内存的用途。如果计算机缺少运行程序操作所需的随机存取内存 (RAM),则 Windows 使用虚拟内存进行补偿。
是否有点绕口?稍稍科普一下:
我们可以直接将RAM理解为物理内存,相当于手机上的运行内存,而非存储。虚拟内存也称为分页文件,也就是那个 pagefile.sys文件。
虚拟内存将计算机的 RAM 和硬盘上的临时空间组合在一起。当 RAM 运行速度缓慢时,虚拟内存将数据从 RAM 移动到称为分页文件的空间中。将数据移入与移出分页文件可以释放 RAM,以便计算机可以完成工作。 一般而言,计算机的 RAM 越多,程序运行得越快。如果计算机的速度由于缺少 RAM 而降低,则可以尝试增加虚拟内存来进行补偿。但是,计算机从 虚拟内存读取数据的速度要比从RAM读取数据的速度慢得多,因此,想要质的提升系统运行效率,增加 RAM 才是最根本的方法。
这样看来,是不是觉得我们的物理内存足够大了,确实没有必要使用虚拟内存了?而且从硬盘读取的速度还没有从RAM读取数据的速度快,那么禁用了虚拟内存是否能够提升计算机的运行速度呢?
但是,实际情况却不是这样的,根据传统的设计,Windows 的许多核心功能以及第三方软件都需要使用分页文件,如果我们禁用了所有分页文件,那么有些第三方的软件就可能会遇到虚拟内存不足的错误,比如PhotoShop就是这样。所以不管物理内存多大,想要使用这类软件都是需要开启虚拟内存的。 其实在不需要使用虚拟内存的时候,Windows并不会使用分页文件。所以呢,即使关闭了虚拟内存,也不会获得任何性能上的提高。
这时又会有人问,如果开启虚拟内存的话,会占用系统盘的空间,并且分页文件大小是随时变化的,这样可能会产生磁盘碎片,影响系统性能,怎么办? 我们可以根据下面的方法将分页文件移动到其他空间比较大的磁盘,来节约系统盘的空间和减少磁盘碎片的产生:
1、请右键点击“计算机”并点击“属性”,在打开的页面中,点击左侧的高级系统设置,
2、在打开窗口中,点击性能部分的“设置”按钮,并找到“高级”选项卡,
3、点击如上图所示的“更改”按钮,在打开的“虚拟内存”窗口中,取消“自动管理所有驱动器的分页文件大小”前的勾选,然后选择“无分页文件”,点击“设置”按钮使设置生效,这样在系统盘中的分页文件就被删除掉了,
4、选择系统盘另外的一个磁盘,并勾选“系统管理的大小”,点击“设置”按钮后点击“确定”,根据提示重新启动计算机使设置生效。 这样,分页文件就转移到其他磁盘了。
不要禁用虚拟内存
“关闭了虚拟内存,也不会获得任何性能上的提高”,微软工作人员如实说道。
实在不明,请勿乱改,直接保持系统默认托管的即可。
Win8、win10建议使用系统托管,也就是默认设置,Win7、XP等系统建议手动设置虚拟内存,一般为物理内存的1.5到2倍左右。
另外,现在硬盘空间都很大,无需纠结那一点空间。
删除分页文件的坏处(举例说明)
Photoshop(包括新版)需要较大的缓冲区(ps里设置)以及分页文件,否则会导致大文件无法保存;
部署阿里云的时候也需要足够的分页文件,部分情况下禁用了之后服务器直接崩溃了;
Windows自身也需要分页文件;
不能直通的认为分页文件就是物理内存的扩充和只有老旧软件才用分页文件;
禁用分页文件但依然没问题的用户估计很少遇到特殊情况;
微软不鼓励粗暴的删除分页文件。
正确看待Windows“虚拟内存”
大众理解的: 虚拟内存 = 分页文件 = pagefile.sys (事实上微软也是这么认为的);
技术方面的: 虚拟内存 = 物理内存 + 分页文件;
另外,休眠文件是 hiberfil.sys 与“虚拟内存”无关。