w7玩cf内存不足怎么办卡出来怎么弄

xp系统和win7系统玩cf出现out of memory怎么解决?_3G免费网
当前位置: →
xp系统和win7系统玩cf出现out of memory怎么解决?
3G免费网免费为你分享xp系统和win7系统玩cf出现out of memory怎么解决?,玩cf出现outofmemory怎么解决的相关资源如下:
xp系统和win7系统玩cf出现out of memory怎么解决?
out of memory 的意思是内存不足。
作为一个有着些年头WIN32 C++ 开发经验的程序员我不同意WIN7 的预读等等说法,因为我不认为系统的预读会占用用户地址空间,起码来说,预读功能是单独的系统服务,独立的进程。而系统的内存不足的话,windows肯定会有提示,不知道大家有没有遇到过,右下角出现一个*的小三角提示虚拟内存太小。
曾怀疑过是DN程序内存泄漏或者没有考虑到内存空间导致申请的内存超出2GB,而导致此问题,但是每次出此BUG时我去观察内存占用情况却发现一般都保持在1.5G。所以一开始排除了这种可能,不过今天忽然想到一点,就是内存映射文件,而DN的资源包最大恰好是0.5G。 因此极其有可能是这个原因。(内存映射方式打开文件虽然不会将整个文件加载到内存,但是会占用与文件大小相等的地址空间,而win32系统 进程的最大地址空间是4GB 其中默认用户地址空间是2GB,也就是说做为程序员一个进程最多也就2GB的地址空间而出现内存不足提示的时候DN进程的内存使用是1.5G加上0.5G的资源包地址空间大概已经达到2GB因此当再申请内存的时候就会失败。)
说这些估计很难有人理解,那么说一下解决方案吧,(我没DN的源码没办法去修改他内部的BUG所以只能从其他地方想办法了)以下是重点。
修改WINDOWS启动配置,让进程用户地址空间达到3GB
windows 7系统:
1.进入命令行: 点击开始菜单 -& 在搜索框中输入 &cmd&,按下 ctrl + shift + 回车(命令行的*员模式)
2.输入命令:bcdedit /set increaseuserva 3072 回车
3.重启系统.
1.去掉引导文件只读等属性:开始 -& 运行 输入&attrib c:\boot.ini -h -r -s& 回车
2.编辑引导文件:开始 -& 运行 输入&c:\boot.ini& 回车,在类似&multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=&Microsoft Windows XP Professional& /noexecute=optin /fastdetect& 这一行最后加上&/3GB& 保存。
3.恢复引导文件只读等属性:开始 -& 运行 输入&attrib c:\boot.ini +h +r +s& 回车
4.重启系统.
补充一点 有人说 32位系统 需要这样破
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的内存寻址。
如果觉得修改有问题的网友,可以参照下面指令还原。
关闭方法如下: 进入cmd:点击开始菜单,在搜索框中输入&cmd&,按下 Ctrl + Shift + Enter (进入cmd的管理员模式)
关闭PAE: bcdedit /set pae forcedisable
关闭3GB: bcdedit /deletevalue IncreaseUserVa
xp系统和win7系统玩cf出现out of memory怎么解决?文章来源:3G免费网& 转载请注明出处!
?上一篇文章:
?下一篇文章:
& &评论摘要(共 0 条,得分 0 分,平均 0 分)
按字母检索
按声母检索
3G免费网分享cf、dnf、lol、剑灵、qq飞车、qq炫舞腾讯网络网页游戏活动礼包,单机游戏攻略秘籍以及软件官方下载和qq头像、qq皮肤、qq网名、qq分组、qq个性签名等QQ素材。当前位置:
Win7旗舰版系统玩CF穿越火线出现卡死无反应
时间: 11:18来源:专注于win7 作者:win7之家官网
系统教程栏目
本类系统下载排行
系统安装帮助教程
热门系统总排行
热门软件排行我电脑玩cf的时候老卡出桌面 出out of memory 怎样办!!-win7玩穿越火线老是掉线出桌面显示“Out of m... _星空游戏网
我电脑玩cf的时候老卡出桌面 出out of memory 怎样办!!
我电脑玩cf的时候老卡出桌面 出out of memory 怎样办!!
玩1两局就会在进入房间加入游戏时掉回桌面,并弹出out of memory 也就是内存溢出的窗口,电脑重装系统且重新下载安装游戏也没用,电脑2G内存,不管把CF的文件夹移...
查看原帖&&我要分享到:
系统教程栏目
win7系统教程排行
12345678910
大家都在使用
win7系统推荐
12345678910

我要回帖

更多关于 cf内存不足闪退 的文章

 

随机推荐