我使用的是 64 位 Windows Server 2008 计算机,具有 24 GB 的 RAM。对于 32 位应用程序,我想使用 /LARGEADDRESSAWARE 链接器选项。为此,如果我没有记错的话(如果记错了,请纠正我),我会(在过去)在 boot.ini 文件中设置 /3GB 开关。
在 Windows Server 2008 中,boot.ini 已被 BCD 存储和相关的 BCDEDIT 工具取代。据我所知,调用 bcdedit 而不使用任何选项(或使用 /v 进行详细显示)应该会显示当前设置。在 Windows Boot Loader 部分下,我找到了以下条目:
- 标识符
- 设备
- 小路
- 描述
- 区域设置
- 继承
- 操作系统设备
- 系统根目录
- 恢复对象
- nx
我的问题:
- 我的理解正确吗?即在我的用例中设置IncreaseUserVa有意义吗?
- IncreaseUserVa 的当前值是多少?由于未显示其条目,是否将其设置为默认值?
- 假设如此,默认值是 2Gb 吗?
答案1
使用 64 位版本的 Windows 时,不需要配置相当于 /3GB 的。
64 位版本的 Windows 甚至会为使用 /LARGEADDRESSAWARE 标志编译的 32 位应用程序分配 4GB 虚拟地址空间,而不是 3GB Comparison of memory and CPU limits in the 32-bit and 64-bit versions of Windows
。本文。