xp系统和win7系统玩cf出现out of memory怎么解决?

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,虽然不知道我的解释是否正确,但问题算是解决了。若有谷友有任何新的解释和异议或发现错误,欢迎互相交流意见,为广大谷友提供更好的解决方案。龙之谷吃的不是虚拟内存,而是寻址,这个很关键... 很多人认为32位系统只支持3.25G内存,其实不是,32位系统拥有4G的内存寻址,而开启PAE有36位内存寻址,可使系统拥有64G的内存寻址。

如果觉得修改有问题的网友,可以参照下面指令还原。

关闭方法如下: 进入cmd:点击开始菜单,在搜索框中输入”cmd“,按下 Ctrl + Shift + Enter (进入cmd的管理员模式)

关闭PAE: bcdedit /set pae forcedisable

关闭3GB: bcdedit /deletevalue IncreaseUserVa

来源: www.3gmfw.cn 作者: 网络 时间: 2017-04-05 23:52:00