在 Windows XP pro(32 位)上使用 SQL Server 2005 开发人员版我注意到启用 AWE(高级窗口扩展)的复选框已启用。我有一个 Opteron 工作站,我可以轻松升级到 8GB 或更多,尽管在开发环境中移除 32 位 Windows XP Pro 是不切实际的。据我所知,在 32 位模式下运行的 Opteron 的 MMU 应该支持 36 位物理地址空间,就像 32 位 Xeon 一样。
减少 SQL Server 的内存占用可以让我给 Analysis Services 更多的空间。
有谁知道 Windows XP 上的 AWE 是否支持超过 4GB 的可用于 SQL Server 的 RAM(在具有 MMU 支持的 CPU 上)?
或者,是否有人知道哪些数据字典视图可能会告诉我有关 AWE 缓冲区使用情况的信息,以便我可以尝试它并获得某种关于它是否使用额外内存的明确视图?
编辑:对于那些不熟悉它的人,AWE 是一种允许您控制虚拟物理地址映射和分页进出进程的 4GB 虚拟地址空间的任意物理内存的工具。32 位 Xeons(和其他一些处理器)上的 MMU 实际上将支持超过 4GB 的物理 RAM,尽管单个进程地址空间一次只能看到 4GB。据我所知,Opteron 上的 MMU 在 32 位代码上也有这种能力。
SQL Server 支持使用 AWE 访问超过 2GB 或 3GB 的物理 RAM,其进程地址空间允许在 32 位机器上。它通过显式管理映射、交换物理内存进出虚拟地址空间来做到这一点。某些版本的 Windows,尤其是 Windows 2003 和 Windows 2000 Advanced Server,将支持以这种方式使用的超过 4GB 的内存,并为此提供 API。
问题是:如果我有一台为此提供硬件支持的机器,Windows XP 32 位是否允许我以这种方式使用超过 4GB 的 RAM?