以下是我的理解,如果我对 3GB 部分有误,请纠正我?
win32 应用程序的虚拟内存地址空间限制为4GB。
每个进程获得的 4GB 内存地址空间中,只有 2GB 真正可供程序使用;另外 2GB 保留给内核使用。
- /3GB启动选项可以允许一些程序使用更多的内存地址空间。
如果这样的 win32 应用程序在 Win64 操作系统上运行,
可访问的总虚拟内存地址空间的上述 4GB 限制是否仍然适用?
2GB 的限制还适用吗?
/3GB 选项仍然可用吗?
谢谢!
答案1
参照表格这里,我们可以看到32位应用程序可以有三种不同的虚拟内存限制:
在 x64 Windows 上与标志链接的 32 位应用程序/LARGEADDRESSAWARE
本身将获得 4GB 的空间。
/LARGEADDRESSAWARE
在 x86 Windows 上,带有启动标志且与标志链接的 32 位应用程序/3GB
本身将拥有 3GB 的空间。
在所有其他情况下,32 位应用程序将获得默认的 2GB/2GB 应用程序/内核分割。
答案2
是的,依靠, 不。