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内存,对系统稳定性会有一定的影响。不适合强制给用户开启,仅适用于个人使用。

首先看下各种微软操作系统内存支持状况。暂时未写windows7 及windows 2008。 Windows 2000 Advanced Server 8 GB 内存 RAM Windows 2000 Datacenter Server 32 GB 内存 RAM Windows XP (所有版本) 4 GB 内存 RAM* Windows Server 2003 (and SP1) Standard Edition 4 GB 内存 RAM* Windows Server 2003 Enterprise Edition 32 GB 内存 RAM Windows Server 2003 Datacenter Edition 64 GB 内存 RAM Windows Server 2003 SP1 Enterprise Edition 64 GB 内存 RAM Windows Server 2003 SP1 Datacenter Edition 128 GB 内存 RAM 1,首先检查主板是否支持,下载everest检测软件,在主板-内存一项中,Physical Address Extension(PAE)查看“操作系统支持”“处理器支持”是否为“是”,如果是“是”的话,那么接下来 2,我的电脑-属性-高级-启动和故障恢复-设置-编辑,这里编辑操作的是c盘根目录下隐藏的boot.ini文件,也可以通过在c盘显示隐藏文件的方法找到它,一般boot.ini里的内容如下: [boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect 那么接下来在“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" 后面加上“/PAE” 即“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /PAE /noexecute=optin /fastdetect” 这样保存关闭,系统就打开了PAE,重新启动后,电脑属性的下方多了“物理地址扩展”几个字,虽然显示的还是3.25g内存,但实际上4g内存已经完全启用了。 在默认情况下 (不使用PAE), Windows XP (32bit)是可以识别4GB内存的. PAE参数是为了多于4GB内存的情况. 但是根据我的经验, 有很多情况下, Windows XP不能够正确的识别出4GB内存. 一般这都是因为计算机硬件占用内存. 32-bitWindows XP 默认不能使用4GB内存: 32位的Windows XP最大支持4GB物理内存. 但是Windows XP不能使用全部的4GB内存, 因为有一部分内存是保留给系统硬件, 驱动等. 所以有时候您安装4GB内存, 但是系统报告2.5GB到3.5GB. 这个情况是比较常见的. 加了/PAE后Windows XP是否可以识别使用4GB内存: /PAE主要用于大于4gb物理内存的情况下, 所以4GB内存不需要/PAE. 另外, 32位的Windows XP添加了/PAE也依然有4GB物理内存限制 ---, 即32位的Windows XP依然只能使用最大4GB物理内存. 这一点和32位的Windows 2003 不一样. 物理内存限制和系统也是有关系的. 附件下载XP 2003 诺德尔内存开启4GB以上大内存的支持功能,提供优快云懒人及热友下载。原理也是打开PAE。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷眼Σ(-᷅_-᷄๑)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值