如果我的内存足够大,是否可以禁用虚拟内存?
物理内存的性能一般都远远强于硬盘虚拟出来的虚拟内存,那么如果我有足够大的物理内存,是否可以通过禁用虚拟内存来提升计算机的性能呢?
结论直达
首先上一张图,这是执行systeminfo命令的输出:
其中:
- 绿色指向物理内存
- 蓝色指向物理+虚拟内存的总量 (虚拟内存此时设置为10G)
- 红色指向物理+虚拟内存的可用量
- 紫色指向物理+虚拟内存的使用量 如果把虚拟内存禁用掉,绿色与蓝色部分将相等。 对于win10的系统而言,它所看到的内存量实际上是蓝色指向的物理+虚拟内存部分。
同时可以看到,此时系统的内存占用已经达到了17G以上,但物理内存的可用还有8G。 也就是说,此时系统用占用了8G物理内存+9G的虚拟内存。 可见任务管理器里面只显示了物理内存的占用,实际上系统为了优化,使用了更多的内存。 当系统需要的内存总量>蓝色指向的总量时,内存分配将会异常———可能会出现程序打不开、系统部分崩溃、显卡停止输出信号到显示器等等情况。 也就是说,如果我此时禁用了虚拟内存,但我的物理内存只有16G,此时就会出现内存分配异常的情况
实验现象
- 8G物理内存且禁用虚拟内存,此时骑砍2、LOL崩溃
- 16G物理内存且禁用虚拟内存,此时骑砍2、LOL都正常打开,但是打不开巫师3等程序
- 16G物理内存+10G虚拟内存,此时能同时打开骑砍2、LOL、巫师3,此时的systeminfo命令的输出就是上边的那张图。
- 运行更多的程序,在红色箭头指向的内存量用尽时,打不开别的程序且现有的程序概率性崩溃
结论
- 开启虚拟内存时,系统会同时占用一部分的虚拟内存和一部分的物理内存,即便此时物理内存还有空余
- 能够保证需要的内存总量>蓝色指向的总量时,可以禁用虚拟内存