1、两天泡论坛发觉很多玩家报错,集中在于outofmemory,相信大家都找到方法,就是在CMD里面输入bcdedit/setincreaseuserva3072,但这个只是单单把32位系统的程序内存限制从2GB该为3GB,虽然可以解决报错,但还不够完美,大内存的普及,和程序日益争长的内存占用显得这个方法不足,其实龙之谷并不很吃内存,但很吃那个寻址,这也和微软的内存机制有关。
2、outofmemory的出现,尤其在40天启时代烦恼很多人,因为不能回队。
3、现在去打个龙本,看见队友一下子掉了4-5个,表示真无语了...下面介绍更加完善一些的方法:Windows7/Windows8/WindowsVISTA系统下开启PAE3GB(64位系统报错的谷友也可以使用,指令通用,但不用开启PAE)1进入cmd:点击开始菜单,在搜索框中输入”cmd“,按下Ctrl+Shift+Enter(进入cmd的管理员模式)2输入如下命令BCDEdit/setPAEforceenableWindows3输入如下命令bcdedit/setincreaseuserva3072注意:每输一条指令按回车看到操作完成成功后才去输下一个,完成后要重启计算机才生效。
【资料图】
4、2、物理内存只有2-3G或者修改指令后依旧OUT的用户用完这些指令后,建议去电脑属性那里把虚拟内存调到6-8GB(设定的盘符格式必须NTFS格式)。
5、关于这个方法,有谷友说2G内存的系统不能用,并且要设置少于3072的数值,要比自己的资源监视器里的内存总数少一些来设定,但LZ的室友的2台笔记本和2台台式均是2G内存用了之后都能解决。
6、想起曾经一位谷友给我解释increaseuserva的定义,于是查找一下微软的MSDN的increaseuserva解释:Specifiestheamountofmemory,inmegabytes,foruser-modevirtualaddressspace.Thisvariablecanhaveanyvaluebetween2048(2GB)and3072(3GB)megabytesindecimalnotation.Windowsusestheremainingaddressspace(4GBminusthespecifiedamount)asitskernel-modeaddressspace.大概意思指定以MB为单位的内存量,作为用户模式的虚拟地址空间。
7、这个变量可以有2048(2GB),3072(3GB),是兆字节的十进制表示法之间的任何值。
8、Windows将使用剩余的地址空间,4GB减去指定的数额作为其内核模式地址空间。
9、那就是说这个与物理内存大小应该没太大的关系(LZ猜测),这个指令设置的应该是虚拟内存的地址范围,但系统默认分配的只有2GB,虚拟内存不足4G以上,那么bcdedit/setincreaseuserva3072这个方法会失败,当这方法有效时,虚拟内存也够4G,但是有其他程序在使用当前系统虚拟内存,那么当游戏内存超过虚拟所需的内存,并且大于最大限制的时候,游戏也会out。
10、而且PAE的开启可以去除4GB的限制,即是这时虚拟内存中的内存寻址也跟着改变,那么我们也要扩大其容量,早在天启时代LZ都把室友的机子都把虚拟内存调到12GB,并都把指令都输进去,至今并无出现过OUTOFMEMERY,虽然不知道我的解释是否正确,但问题算是解决了。
11、若有谷友有任何新的解释和异议或发现错误,欢迎互相交流意见,为广大谷友提供更好的解决方案。
12、龙之谷吃的不是虚拟内存,而是寻址,这个很关键...很多人认为32位系统只支持3.25G内存,其实不是,32位系统拥有4G的内存寻址,而开启PAE有36位内存寻址,可使系统拥有64G的内存寻址。
13、像Windowsserve20032008的32位系统最高是可以用到64G内存。
14、开启PAE和设置3GB是木有副作用的,若是有的话,Windowsserve系列的系统就不用卖了。
本文就为大家分享到这里,希望小伙伴们会喜欢。