还在为out of memory烦恼?只需3个步骤即可解决,WIN7/WIN8/VISTA和XP系统方法都有 [复制链接]
分享到:
Canon灬控
.
Lv.6
UID43147351帖子755威望0 多玩草0 草元宝 0 发消息
加好友
.
电梯直达
隐藏签名
楼主
发表于 2012-9-21 09:28:39 |只看该作者 |倒序浏览
这两天泡论坛发觉很多玩家报错,集中在于out of memory,相信大家都找到方法,就是在CMD里面输入bcdedit /set increaseuserva 3072 ,但这个只是单单把32位系统的程序内存限制从2GB该为3GB,虽然可以解决报错,但还不够完美,大内存的普及,和程序日益争长的内存占用显得这个方法不足,其实龙之谷并不很吃内存,但很吃那个寻址,这也和微软的内存机制有关。 out of memory的出现,尤其在40天启时代烦恼很多人,因为不能回队。现在去打个龙本,看见队友一下子掉了4-5个,表示真无语了... 下面介绍更加完善一些的方法:
Windows 7 /Windows 8 / Windows VISTA 系统下开启PAE\3GB (64位系统报错的谷友也可以使用,指令通用,但不用开启PAE)
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,虽然不知道我的解释是否正确,但问题算是解决了。若有谷友有任何新的解释和异议或发现错误,欢迎互相交流意见,为广大谷友提供更好的解决方案。
龙之谷吃的不是虚拟内存,而是寻址,这个很关键... 很多人认为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系统不支持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
注意事项,XP的boot修改极其麻烦,容易出错,并不是每个XP都适用,修改不当会造成无法读去引导而无法进入系统,要用PE系统重新加载引导,所以修改请谨慎 ...
2012-10-21 10:18:14 上传
下载附件 (26.47 KB)