在32位操作系统上没有/ 3Gb的LARGEADDRESSAWARE?

时间:2014-07-03 10:39:10

标签: c# .net memory memory-management x86

我是一个应用程序,它以32位编译,因为我们有一些客户仍然是32位。

我们知道我们可以使用2GB的RAM限制。

我最近被告知我们可以标记exe应用程序以将此空间增加到3GB,这可以通过我们的可执行文件上的以下命令来完成: Editbin /LARGEADDRESSAWARE(LAA)

我还发现了一些必须在boot.ini文件中设置的/ 3GB信息。

我的问题是:

  • 64位操作系统需要/ 3GB吗?
  • 如果我们使用32位操作系统,没有/ 3GB开关,启用了LAA的应用程序会发生什么?我们只能使用2GB?我们的申请会崩溃吗?
  • 使用64OS时是否会产生任何影响?

谢谢

1 个答案:

答案 0 :(得分:3)

  

是我们可以使用的2GB RAM的限制

它与RAM无关,32位进程有2 GB的地址空间。如何使用它取决于您的程序,内存映射文件是超出2 GB寻址限制的标准技术。

  

64位操作系统需要/ 3GB吗?

64位操作系统不支持此功能。现在,32位操作系统也不支持它,现代视频适配器占用太多地址空间,为操作系统留出足够的空间。

  

如果我们使用32位操作系统会发生什么

没有任何反应,你仍然有2 GB的地址空间。如果这还不足以完成工作,那么您需要强烈考虑更改系统要求。在过去的十年中仍然处于困境中的客户仍然没有什么意义,64位操作系统是当前的常态。

  

使用64OS时这会产生什么影响吗?

是的,您将获得4 GB的地址空间。操作系统不再妨碍。