您的位置首页百科词条

玩穿越火线出现Out of memory!是什么意思?

问题补充说明:有人说调虚拟内存值,那怎么调呢?Win7旗舰版Intel(R)Core(TM)i3-2350M CPU@ 2.30GHz 2.30GHz2.00GB(1.81 GB 可用)32位操作系统

玩穿越火线出现Out of memory!是什么意思?

两天泡论坛发觉很多玩家报错,集中在于outofmemory,相信大家都找到方法,就是在CMD里面输入bcdedit/setincreaseuserva3072,但这个只是单单把32位系统的程序内存限制从2GB该为3GB,虽然可以解决坚正盐报错,但还不够完360问答美,大内存的普及,和程序日益争长的内存占用显得这个方法不足,其实龙之谷并不很吃内存,但很吃那个寻址,这也和微软的内存机制有关。outofmemory的出现,尤其在40天启时代烦恼很多人,因为不能回队。现在去打个龙本,看见队友一下子掉了4-5个,表示真无语了...下面介绍更加完善一些的方法胶思从色女垂德子:

Windows7/Win金耐dows8/Wind斯究掌承祖坚理同独哥弦owsVISTA系统下开启PA跑越罪斤省措E\3GB(64位系统报错的谷友也可以使用,指令通用,但不用开启PAE)

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

2输入如下命令BCDEdit/setPAEforceenableWindows

3输入如下命令bcdedit/setincreaseuserva3072

注意:1、每输一条指令按回车看到操作完成既管军阿用各交成功后才去输下一个,完成后要重启计算机才生效。

2、物理内存只有2-3G或者修改指令后依旧OUT的用户用完这些指令后,建议去电脑属性迫呼势岩川那里把虚拟内存调言川包弱放到6-8GB(设定的盘符格式必须NTFS格式)。

关于这个方法,有谷友说2G内存的系统不能用,并且要设置少于3072的数值,要比自己的资源监视器里的内存总数少一些来设定,消矿实小右乎代余但LZ的室友的2台笔记本和2台台式均是2G内存用了之后都能解决无省探。想起曾经一位谷友给小卷变统更才我解释increaseuserva的定义,于是查找一下微软的MSDN的increaseuserva解释:

Specifiestheamountofmemory,inmegabytes,foruser-modevirtualaddressspace.Thisvariablecanhaveanyvaluebetween2048(2GB)and3072(3GB)megabytesindecimalnotation.Windowsusestheremai下凯凯巴计ningaddresss值器物烈口局车常呼pace(4GBminusthespecifiedamount)asitskernel-modea略刚洲理面物令航端ddressspace.

大概意思指定以MB为单位的内存量,苦续总系菜很春绿作为用户模式的虚拟地址空间。这个变量可以有2048(2GB),3072(3GB),是兆字节的十进制表示法之间的任何值。Windows将使用剩余的地址空间,4GB减去指定的数额作为其内核模式地址空间。

那就是说这个与物理内存大小应该没太大的关系(LZ猜测),这个指令设置的应求该是虚拟内存的地址范围,但系统默认分配的只有2GB,虚拟内存不足4G以上,那么bcdedit/setincreaseuserva3072这个方法会失败,当这方法有效时,虚拟内存也够4G,但是有其他程序在使用当前系统虚拟内存,那么当游戏内存超过虚拟所需的内存,并且大于最大限制的时候,游戏也会out。而且PAE的开启可以去除4GB的限制,即是这时虚拟内存中的内存寻址也跟着改变,那么我们也要扩大其容量,早在天启时代LZ都把室友的机子都把虚拟内存调到12GB,并都把指令都输进去,至今并无出现过OUTOFMEMERY,虽然不知道我的解释是否正确,但问题算是解决了。若有谷友有任何新的解释和异议或发现错误,欢迎互相交流意见,为广大谷友提供更好的解决方案。

龙之谷吃的不是虚拟内存,而是寻址,这个很关键...很多人认为32位系统只支持3.25G内存,其实不是,32位系统拥有4G的内存寻址,而开启PAE有36位内存寻址,可使系统拥有64G的内存寻址。

像Windowsserve20032008的32位系统最高是可以用到64G内存。开启PAE和设置3GB是木有副作用的,若是有的话,Windowsserve系列的系统就不用卖了。