32 位应用内存不够了应该怎么办

查看 86|回复 7
作者:CallmeDredd   
工作原因要用到一个老的 32 位应用,每次打开都存都是用满 2G 的,任务多了以后就会出现闪退的情形,最近又添加了点数据进去,操作时候白屏变成了家常便饭。 。。。cry 。。。
大家有什么好办法吗?

白屏, 闪退, 家常便饭, cry

bclerdx   
没办法,想办法迁移到 64 位。
sadfQED2   
理论上不重新编译成 64 位的应该没什么办法吧?
feng32   
高级系统设置里,把内核内存空间调到 1G ,用户态调到 3G
可能会有些副作用,谨慎使用
sloknyyz   
32 位顶多也就是把 LARGEADDRESSAWARE 开启。64 位也不是说上就上的,如果用到第三方库,还要把那些东西也一并搞成 64 位的。
首先还是优化下内存占用,用不到的内存及时释放掉。其次还可以考虑多进程,用 ipc 交互。实在没办法了再考虑 64 位。
cnbatch   
如果你的电脑有 Visual Studio ,那么可以打开“Developer Command Promote for VS****”,再用 editbin /largeaddressaware 给这个 exe 启用大地址支持,这样可以用满 4G 内存。
用法很简单:editbin /largeaddressaware 你的程序.exe
注意,使用 editbin 之前必须备份好原 exe ,因为 editbin 会修改 exe 文件本身(其实名字本身就已经说明一切)
nziu   
#4 说的单独软件,玩一些老游戏经常用到
https://ntcore.com/?page_id=371
tool2d   
我刚写了一小段测试代码。
32 位程序,编译不加 /LARGEADDRESSAWARE ,只能分配 1.8G 。
而加了后,内存容量能到 3.8G ,厉害。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部