快捷搜索:  as  as  cpu  显卡  主板  显示器  i5  

龙之谷、cf out of memory的解决方法

玩游戏的时候出现“out of memory”是什么意识?出现这个提示情况最多的游戏要数《龙之谷或CF》和《穿越火线》了,其它游戏如果也遇到out of memory错误提示的话,都可以参照本文的方法来解决。
 
out of memory
 
其实网上有很多关于解决out of memory错误的文章,相信很多朋友在网上找到了相关的方法,就是在CMD里面输入bcdedit /set increaseuserva 3072 ,但这个只是单单把32位系统的程序内存限制从2GB该为3GB,虽然可以解决报错,但还不够完美,大内存的普及,和程序日益争长的内存占用显得这个方法不足,其实龙之谷或CF或CF并不很吃内存,但很吃那个寻址,这也和微软的内存机制有关。 out of memory的出现,尤其在40天启时代烦恼很多人,因为不能回队。现在去打个龙本,看见队友一下子掉了4-5个,表示真无语了... 下面介绍更加完善一些的方法:
 
 out of memory的解决方法:
 
1、进入cmd:点击开始菜单,在搜索框中输入”cmd“,按下 Ctrl + Shift + Enter (进入cmd的管理员模式,一定要管理员模式,否则会无打开启动配置数据储存;拒绝访问)
 
2、输入如下命令 BCDEdit /set PAE forceenable Windows
 
3、输入如下命令 bcdedit /set increaseuserva 3072
 
注意:
 
1、每输一条指令按回车看到操作完成成功后才去输下一个,完成后要重启计算机才生效。
 
2、物理内存只有2-3G或者修改指令后依旧OUT的用户用完这些指令后,建议去电脑属性那里把虚拟内存调到6-8GB(设定的盘符格式必须NTFS格式)。

 
关于这个方法,有谷友说2G内存的系统不能用,并且要设置少于3072的数值,要比自己的资源监视器里的内存总数少一些来设定,但LZ的室友的2台笔记本和2台台式均是2G内存用了之后都能解决。想起曾经一位谷友给我解释increaseuserva的定义,于是查找一下微软的MSDN的increaseuserva解释:
 
Specifies the amount of memory, in megabytes, for user-mode virtual address space. This variable can have any value between 2048 (2 GB) and 3072 (3 GB) megabytes in decimal notation. Windows uses the remaining address space (4 GB minus the specified amount) as its kernel-mode address space.
 
大概意思指定以MB为单位的内存量,作为用户模式的虚拟地址空间。这个变量可以有2048(2 GB),3072(3 GB),是兆字节的十进制表示法之间的任何值。Windows将使用剩余的地址空间,4 GB减去指定的数额作为其内核模式地址空间。
 
那就是说这个与物理内存大小应该没太大的关系(LZ猜测),这个指令设置的应该是虚拟内存的地址范围,但系统默认分配的只有2GB,虚拟内存不足4G以上,那么bcdedit /set increaseuserva 3072这个方法会失败,当这方法有效时,虚拟内存也够4G,但是有其他程序在使用当前系统虚拟内存,那么当游戏内 存超过虚拟所需的内存,并且大于最大限制的时候,游戏也会out。而且PAE的开启可以去除4GB的限制,即是这时虚拟内存中的内存寻址也跟着改变,那么 我们也要扩大其容量,早在天启时代LZ都把室友的机子都把虚拟内存调到12GB,并都把指令都输进去,至今并无出现过OUT OF MEMERY,虽然不知道我的解释是否正确,但问题算是解决了。若有谷友有任何新的解释和异议或发现错误,欢迎互相交流意见,为广大谷友提供更好的解决方案。
 
龙之谷或CF吃的不是虚拟内存,而是寻址,这个很关键... 很多人认为32位系统只支持3.25G内存,其实不是,32位系统拥有4G的内存寻址,而开启PAE有36位内存寻址,可使系统拥有64G的内存寻址。
 
像Windows serve 2003 2008的32位系统最高是可以用到64G内存。 开启PAE和设置3GB是没有副作用的,若是有的话,Windows serve 系列的系统就不用卖了。
因为这个是参照serve系统修改的参数。
 
补充:
 
如果觉得修改有问题的网友,可以参照下面指令还原。
关闭方法如下: 进入cmd:点击开始菜单,在搜索框中输入”cmd“,按下 Ctrl + Shift + Enter (进入cmd的管理员模式)
关闭PAE: bcdedit /set pae forcedisable
关闭3GB: bcdedit /deletevalue IncreaseUserVa
WINDOWS XP 系统下开启PAE\3GB
使用XP系统的用户,首先第一个建议就是,配置能够玩得起WIN7的话,最好还是先换WIN7系统,不要用XP系统,XP系统对多核优化差,内存管理机制落后,对应驱动优化跟不上,容易蓝屏又不稳定,玩多单位或网游容易丢帧,造成卡顿。实属淘汰的系统...建议换个win7,可以有很大的改善,实在是逼不得已才去用下面的方法...
由于XP系统不支持BCDEdit编辑,所以不能用WIN7的指令修改的那种方法,只能修改boot来解决。
先设置显示隐藏文件,然后去C盘打开BOOT.INI,先把boot.ini的只读属性去掉,修改好保存后,再去恢复只读属性...
然后参照红色字体部分修改。由于不是每个系统的boot.ini都一样,所以添加 /PAE /3GB基本可以(红字部分)...注意格式...
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"/PAE /NoExecute=alwaysoff /fastdetect /3GB
 
本文这篇关于out of memory的文章不仅告诉了大家详细额解决方法,同时也解释了为什么会出现out of memory错误的原因,让大家可以举一反三,以后遇到类似的问题就可以有的放矢了。

您可能还会对下面的文章感兴趣: