CF 出现 OUT OF MEMORY
答案:4 悬赏:80
解决时间 2021-04-07 08:57
- 提问者网友:单纯说谎家
- 2021-04-06 14:35
我家电脑内存8G的,并且是64位系统。但是,玩穿越火线,玩完一局就出现OUT OF MEMORY 求大神告诉我怎么破
最佳答案
- 二级知识专家网友:单身小柠`猫♡
- 2021-04-06 14:48
WIN7经常有这个问题,XP系统也有。这个情况,我也遇到过,我是也是win7系统的。直接重新登游戏就可以了。英文的含义是代表内存不足造成的,但真正的问题我想你已经明白,系统无法再供给游戏多余的内存空间使用,那么8个G的内存到底去哪了?除了系统占有的内存,其实其它都让CF给吞了。如果有3250m³的空气,一个气泵一直吸气不排气,你说最后这空气还够用不?一个游戏只吃内存不释放内存,你说最后内存能不能有多余的再供给游戏?游戏不释放内存的问题已经更新好几个版本了。
下面是其他人写的。你可以试试。
一个能够解决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.重启系统.
xp系统:
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.重启系统.
( 提醒 XP系统编辑引导文件可以 直接 我的电脑 -> 属性 -> 高级
-> 启动和故障恢复 设置 -> 编辑 弄完别忘保存)
下面是其他人写的。你可以试试。
一个能够解决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.重启系统.
xp系统:
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.重启系统.
( 提醒 XP系统编辑引导文件可以 直接 我的电脑 -> 属性 -> 高级
-> 启动和故障恢复 设置 -> 编辑 弄完别忘保存)
全部回答
- 1楼网友:情战辞言
- 2021-04-06 18:30
out of memory 错误 解决方法:如果楼主是win7系统32位,请看:一. out of memory修复方法公告( 该方法只针对win7 32位用户 )
目前官方对该问题进行了修复, 但需要操作系统win7,32位的玩家进行相关配置方可,其他用户无需配置。
具体如下:
1. 确认我的电脑的系统信息
2. 确认windows 7, 32 bit 与否
3. 以管理员身份运行cmd
4. 输入命令 :bcdedit /set increaseuserva 3072
5. 操作成功完成
求采纳!!
.............
- 2楼网友:深街酒徒
- 2021-04-06 17:31
你的配置还行——实话哦!
开CF时候最好关掉其他应用程序。。。
- 3楼网友:转身→时光静好
- 2021-04-06 16:09
看看电脑里C++组件是否都安装了 如C++2005 2008 2010 然后更新到最新就好了 ,因为腾讯游戏更新频繁所以C++组件最好是最新的, 祝你成功
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯