前言:
本文仅针对Windows平台,傲腾其他操作系统仍可正常作为虚拟内存使用的。
如果你不是Windows用户,看到这里就可以退出文章了。
现在这个年头还有很多人买它的用法是想将其空间作为分页文件使用,但实际结果可能要让大家失望。它真的没办法给虚拟内存使用(而且说实在的,以前全新带盒傲腾M10才20块不到时还好说,现在工包都涨到30-40了是真的没任何性价比)
回到正题,此时可能会有人说:“UP UP,不对啊,我明明成功设置并使用了啊?你不是说不能使用吗?”
我只能说,别急。当你尝试去运行像AI之类猛吃内存的程序时,就会发现,它崩溃了。
这是为什么?要解答这个问题我们首先先得说说虚拟内存这件事。先纠正一个许多人都会弄错的概念,既将“虚拟内存”直接等同于硬盘上那个名为 pagefile.sys 的“页面文件”的观点。这是错误的,从技术角度看,它们是两个不同概念。在微软官方技术手册中就明确定义,虚拟内存实际是 = 物理内存+ 所有页面文件的总和。它把物理内存和硬盘空间组合成了一个统一的内存资源池。因此你看到的虚拟内存使用率并不意味着系统已经使用了傲腾上的那块空间。
其次纠正的,就是很多人想当虚拟内存的第二个原因就是认为傲腾随机很强,所以做虚拟内存会快。这实际上也是一个误区。虽然被作为虚拟内存使用,但它本质上还是一块硬盘。被用作虚拟内存的是根目录下的巨大的pagefile.sys文件,对此随机读写能力强弱反而没多大影响,主要是顺序(持续)读写能力为主。而傲腾的顺序读写能力对比其他SSD上没有优势。受限于windows系统的底层逻辑,写入和读取内存数据时实际是像正常文件读写一样依次逐个向页面文件中写和读,因此当硬盘作为虚拟内存使用时,实际性能会大打折扣。

如图所示,可以看到虚拟内存的大小明显超过了我给傲腾设置的分页文件大小。但如果细算的话。会发现,它的大小刚好等于我的物理内存(16GB)+傲腾上页面文件大小(3GB)的总和。
而真正是否使用其上空间的,是下面那一行使用率和峰值使用——可以看见它为0%,1MB。即最大时只使用了磁盘上面1MB大小,这其实是初始化页面文件时所占用的空间,并非真实使用。(可以通过在cmd上输入以下命令查看)
命令:wmic pagefile get /value


现在我将启动PS、PR等软件并加载工程项目,让内存占用率上去

如图示,即便当内存总占用率达到80%,傲腾上的页面文件仍使用率0%,峰值使用还是1MB。
这就是很反大多人直觉的一点事实:实际上不到万不得已,系统绝不把活跃数据换出到被系统判断不可靠的傲腾上(如果是普通硬盘,系统早就往上写东西了,最直观表现就是一般盘的页面文件使用率会猛增)。只有当所有程序申请的内存总和,超过了物理内存能提供的能力,系统才会被迫选择一些暂时不活跃的进程私有内存页,将其写入傲腾页面文件,以腾出物理内存给更紧急的需求。
正因如此,哪怕是你正在打一个虚幻5做的3A大作的游戏,系统仍会优先让所有程序使用物理内存上的空间。但当某些情况真正发生到内存不够用(比如我上面提到的训练AI,使用内存来代替显存。或是PS试图打开某25GB的银河全景图时)系统迫不得已要向傲腾上写入并使用一部分空间时,崩溃就发生了,甚至蓝屏。
原因是Windows系统在设计上就是奉行一种“我要默认用户是完全不懂任何计算机知识的小白,用户不知道自己在做什么”的理念的。当傲腾被作为一块硬盘使用而脱离原设计作为给机械盘外置缓存(然而命中率其实很低)的用途时,系统判断并不认为它是一块可靠的设备,作为虚拟内存使用时很可能会造成数据丢失,进而拒绝将内存数据写入到傲腾上,导致并不能被正确使用。就像你试图给移动硬盘之类的USB设备上设置页面文件一样,Windows系统一样会因为判定它的不可靠性,而拒绝使用作为虚拟内存。
那程序内存没能成功往上面成功写入或读取,自然使用这块内存的程序不就崩溃了嘛。
这点其实在使用时就能发现一丝端倪,例如,当首次给傲腾上分配页面文件,而直接将其他所有盘上页面文件直接取消掉时,会在重启后出现报错:

这恰恰就是因为系统没办法将傲腾M10上空间正确作为虚拟内存一部分使用而出现的错误,为此系统会在C盘上临时分配一块空间来替代。如果你对上文提到的移动硬盘做一样的操作,一样会在重启时得到这个报错。
网上教程先保留其他硬盘上的页面文件再分配到傲腾就是为了绕过这个检测,让系统有一块能正常使用的页面文件,过了检测后才能成功傲腾上创建页面文件。但真正使用时,仍会像插在你电脑后面的移动硬盘一样因不可靠而无法正确使用。
所以,真想拿它当替死鬼啥的,还不如直接把TEMP路径及各种缓存位置全定位到它上面更好。至少当它作为一块硬盘来使的时候还是合格的(此处请忽略牢傲腾容易在过热、频繁写入时出问题的主控)。真想当虚拟内存用,如果是固态涨价之前,我会推荐直接便宜花二十块买个退役的128G固态用,不仅能做虚拟内存,还可以放其他各种缓存。就算盘坏了也无所谓,反正都是要清理的缓存数据。(可惜现在涨价连带二手市场跟着猛涨,完全没有任何性价比......)
补充1:有人问我说为什么傲腾上的页面文件用十六进制查看器打开发现有大量数据。这其实是因为页面文件创建时是不初始化的,不会像其他软件创建文件一样在创建时填0覆盖硬盘上原有数据,它只是单纯划片一块区域提前占好,等真正需要内存写入时才进行覆盖,所以读到的其实是硬盘上被删除后的残余数据而非内存拷贝(看写入量就明白了)。也算是Windows系统一种保护硬盘寿命的小细节,如果每次创建分页文件都要填0把原有内容覆盖掉那多浪费寿命,不是吗?