windows-7 - 简单问题: Can x86 apps take advantage of the extra RAM a x64 OS gives?

标签 windows-7 x86 64-bit upgrade windows-7-x64

希望有懂一点的人能解答一下这个问题。关于运行 64 位操作系统(例如 Windows 7 x64)的原因有很多讨论,但许多人似乎认为他们的旧 x86 应用程序将能够利用任何大于 3.5GB 的 RAM。

据我了解,x86 应用程序无法寻址那么高的内存...除非它们经过专门编程(很少有人会拥有)。

有知识的人可以帮我一劳永逸地解决这个问题吗? 32 位应用程序可以利用运行 8GB RAM 的系统吗?

例如如果用户决定(无论出于何种原因)同时运行多个 x86 应用程序,尽可能填充 RAM,是否会使用 Windows 7 x64 中可用的额外可寻址内存?

谢谢!

最佳答案

在 64 位系统上,32 位应用程序能够使用完整的 4GB 虚拟地址空间,减去大约 64K。默认的 32 位 Windows 系统只允许 32 位进程使用 2 GB 的虚拟地址空间。通过专门配置操作系统,可以将该限制提高到 3 GB,但它仍然不如 64 位版本的 Windows 上的那么好。

如果您有 8GB 内存,则该 8GB 可以在多个 32 位进程之间分配,并且如有必要,将使用整个 8GB。但是,单个 32 位进程不会分配超过 4 GB 的内存。

关于windows-7 - 简单问题: Can x86 apps take advantage of the extra RAM a x64 OS gives?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5004542/

相关文章:

c - 在 x86 上写入比读取快?

C# 适用于 32 位但不适用于 64 位

linux - 在 linux mint 64 位中编译 aflex

c# - 使用 XML-RPC.NET 在 Windows 7 中降低 XML-RPC 速度

java - 在 Java 程序中启用/禁用 IPv6 Windows 设置

assembly - 不能在寻址方式下减去寄存器?

php - php内存限制问题

c# - 从 C# 函数运行 git 命令

.net - 如何使用 Visual Studio 2012 在 XP 上定位 .NET 4.0.3?应用程序无法运行,错误代码为 "not a valid Win32 application"

linux - 这段汇编代码对命令行参数做了什么