一,参考文献
二,等系统支持
网上复制粘贴的好多,反正就系叫你bcdedit /set IncreaseUserVA 3072,问题未解决?梗系未解决啦,你个系统都冇咁多内存,继续分配错误。
首先打开任务管理器->性能,睇下边的物理内存,睇“总数”的值,例如系3063
咁样,设置值为
1 |
bcdedit /set increaseuserva 3063 |
重启,咁就得啦,可以用
1 |
bcdedit /enum |
来睇返设置项同埋D值,删除项可以用
1 |
bcdedit /deletevalue increaseuserva |
注意,32系统先要,唔理总数显示几多,set的值唔好大过3072。
建议睇下自己块主板的厂商出有冇出新BIOS俾自己的主板更新,等32位系统认到更多内存。
三,等程序支持
上边的实际操作静系等系统可以俾32位程序分配超过2G内存,不过仲要程序支持先得。
自己写的程序编译果阵梗系选中启动大地址(/LARGEADDRESSAWARE),不过多数都系用人地写的程序。
咁对果D想要佢支持的程序,可以通过后期修改,不过要装Visual Studio。
1,检查程序支持唔支持
先运行VS工具的x86本机命令提示:
1 |
dumpbin /headers "R:\文件夹\程序名.exe" |
然后拉返上来,睇
1 2 3 4 5 6 7 |
FILE HEADER VALUES ... Application can handle large (>2GB) addresses ... OPTIONAL HEADER VALUES ... |
见到“FILE HEADER VALUES”所属的有“Application can handle large (>2GB) addresses”的话,呢个程序就支持,冇的话,要加了,当然唔系所有的程序都要改,自己谂。
2,修改命令
1 |
editbin /LARGEADDRESSAWARE "R:\文件夹\某程序名.exe" |
3,移除命令
1 |
editbin /LARGEADDRESSAWARE:no "R:\文件夹\某程序名.exe" |
一般都唔使移除的,就算系统唔支持都唔会影响程序的。
四,总结
32位程序,系32位系统上最多用3G内存、系64位系统上用4G。