32bit应用程序如何开启4GB大内存

正常情况下,一个x86的应用,最多能使用多少内存呢?

解答

x86应用程序在不同场景下,分别可支持2GB、3GB、4GB的虚拟内存寻址。默认寻址空间为:2GB。如果开启了大内存,在x64的操作系统上,最高可支持到4GB虚拟内存。在x86操作系统上,可支持3GB虚拟内存,此时系统占用1GB。

开启4G内存方法

开启4GB虚拟内存的方法(仅支持Framework4.5以上,C#适用):

1)、使用 AnyCpu ,首选 32bit。

2)、使用Visual Studio 命令行工具。命令:editbin.exe /largeaddressaware temp\Release\test.exe 。

3)、检查方法:

a)、使用批处理 dumpbin.exe/headers temp\Release\test.exe。

b)、使用C#代码

复制代码
public Characteristics CheckPE(String path)            
{   
    var file = new FileInfo(path);                
    var peHeaders = new PEHeaders(file.OpenRead());
    //包含 largeaddressaware,表示成功了。                  
    return peHeaders.CoffHeader.Characteristics;                
}

优点:针对x64操作系统,完美的解决了内存不足的问题,将可内存做了翻倍处理。

缺点:针对x86操作系统无效;需要Framework4.5以上版本。

C++的解决方案,请参考下图开启:

开启3GB虚拟内存方法:

命令行工具:bcdedit/setIncreaseUserVa3072//(3072=1024 *3=3GB)

检查是否成功:bcdedit

关闭3GB:bcdedit/deletevalueIncreaseUserVA

优点:解决应用程序内存不足问题。

缺点:操作系统可用内存降低,降低系统稳定性。

结论:非极端情况下,并不推荐开启3GB内存,对系统稳定性会有一定的影响。不适合强制给用户开启,仅适用于个人使用。

相关推荐
love530love11 小时前
ComfyUI Hunyuan-3D-2 插件安装问题解决方案
人工智能·windows·python·3d·comfyui·hunyuan-3d-2·pygit2
菩提树下的凡夫12 小时前
基于windows X64 NVIDA显卡的onnxruntime环境下GPU加速C++部署教程
windows
取个名字太难了a12 小时前
用户 APC 的执行过程(下)
windows
QQ121546146815 小时前
使用远程桌面连接Windows 2012 R2 Standard服务器报错:出现身份验证错误。要求的函数不受支持。这可能是由于CredSSP加密数据库修正。
服务器·windows·windows server
worilb16 小时前
WinSW XML 配置参数介绍
windows
耀临光18 小时前
分享5款满足各类需求的小软件
windows
积跬步,慕至千里18 小时前
AI平台Dataiku 支Windows系统安装过程总结
windows
FL162386312919 小时前
[C++][cmake]基于C++在windows上部署yolo26的目标检测onnx模型
c++·windows·目标检测
WellTung_66621 小时前
Windows opencode Desktop App配置 Azure GPT5.2和oh-my-opencode插件安装方法
windows·azure
Bruce_Liuxiaowei1 天前
如何彻底禁用 Windows Defender(附安全模式终极方案)
windows·安全·网络安全·内网渗透