昨晚帮朋友调他那台组装机,打开绿色征途还没跑到边境,系统就弹窗说虚拟内存不足。他这配置看着也不算差,i5处理器配16G内存,玩个十几年前的2D游戏却卡成幻灯片,这问题估计不少人都遇到过。
先说结论,这种玩老游戏卡顿加提示虚拟内存,九成不是显卡和CPU的问题,而是内存分配和系统设置没对上游戏的脾气。绿色征途虽然画质不高,但它的客户端架构还停留在当年大内存刚普及的年代,同时开几个号再加上网页语音,32位程序的内存寻址上限就成了第一道坎。
我让他打开任务管理器一看,物理内存还剩8个G空着,但游戏界面已经提示虚拟内存不足。这里有个很多人不知道的细节,绿色征途的主程序是32位进程,它最多只能用2G的私有地址空间,就算你物理内存加到128G,它触到2G上限就要往虚拟内存里写。系统默认虚拟内存放在C盘,如果当初分区时C盘只给了80G,装完系统再装点软件,剩余空间往往只剩十几个G,这时候系统就不敢痛快分配页面文件了。
更坑的是组装机喜欢用杂牌固态加机械硬盘组合,虚拟内存如果落在机械盘上,那随机读写速度可能只有几十MB每秒,游戏数据反复在内存和硬盘之间倒腾,不卡才怪。我让朋友看了下硬件管理器,果不其然他系统装在一块旧SATA固态上,而游戏装在机械硬盘里,Windows自动管理的虚拟内存文件就在C盘那块SATA固态上,型号还是好几年前的三星840 EVO,这个盘老化后掉速特别厉害。
解决思路其实不难,但要改三个地方。先在游戏安装目录下找到客户端配置文件,里面有个内存占用上限选项,默认可能是自动,改成手动并限制到1GB左右,这样能避免它贪心多占物理内存导致频繁请求虚拟内存。然后右键我的电脑属性,进入高级系统设置,在性能选项里把虚拟内存改成自定义大小,设在非系统盘的另一块硬盘上,初始值和最大值都填8192MB比较稳妥。这里要提醒一下,如果你是8G内存的老机器,设成4096MB就好,别贪大反而增加硬盘负担。

这两步做完进游戏,频繁提示的虚拟内存警报基本就消停了。但如果你发现游戏还是每隔几分钟顿一下,那问题多半出在硬盘身上。打开资源监视器看磁盘活动,如果磁盘响应时间经常飙到几百毫秒,基本可以判定是游戏所在硬盘的锅。组装机玩家容易忽略一个事,就是当年图便宜买的裸盘可能是翻新盘或者次品盘,用久了坏道多到系统都懒得隐藏。
遇到这种情况,最简单的办法是把整个游戏文件夹挪到固态硬盘里,但如果资金紧张,至少把虚拟内存文件挪到最快的那块盘上。我帮朋友把虚拟内存设在那个SATA固态上后,卡顿频率明显下降,但登录加载地图偶尔还是会顿,最后发现他客户端里有个高清补丁选项开着,这东西会把很多贴图纹理读进内存再转存虚拟内存,关掉之后立竿见影。
最后还有个容易被忽略的细节是杀毒软件实时防护干扰。老游戏频繁读写临时文件,有些杀软会逐个扫描,尤其是360或国产全家桶,后台进程多的时候内存占用飙升,跟游戏抢资源抢得厉害。建议玩绿色征途前把杀毒软件的游戏模式打开,或者干脆把游戏目录添加白名单。我朋友电脑上那套“电脑管家”类软件,禁掉所有弹窗推送后,游戏帧率从个位数直接拉满60帧。
这套组合拳打下来,他这组装机总算能顺畅跑起来了。说到底,组装机卡顿大多数时候不是硬件不够强,而是软件环境没伺候好。下次再遇到提示虚拟内存不足,先别急着下单买内存条,把虚拟内存设对地方,关掉多余特效,老游戏照样能焕发第二春。