3

在 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?

4

4 回答 4

10

Windows XP(32 位)不支持PAE(即 36 位物理地址);它仅支持 4GB 的 RAM。您需要 Windows 2003(企业或数据中心)来获得 PAE 支持。由于您的操作系统无法使用 PAE,因此您的应用程序无法使用 AWE。

可以使用 /3GB 开关运行它,从而为 SQL Server 提供更多喘息的空间。

就个人而言,我会升级到 64 位版本的 Windows,可能是 Windows 7 x64。

于 2009-01-26T11:22:43.020 回答
1

除非操作系统支持超过 32 位内存寻址空间,否则任何应用程序都不会支持它。您需要升级到 64 位操作系统以允许 SQL 服务器利用额外的 RAM。

于 2009-01-26T11:10:32.780 回答
0

在 32 位操作系统中,您不能为用户进程提供超过 2Gb 的地址空间。实际上,您可以选择使用应用了 /3Gb 开关的 Windows Server 2003 在 3Gb 用户地址空间中运行进程。

于 2009-01-26T11:17:05.090 回答
0

WinXP 32 位可以使用超过 4GB 的内存,但它需要启用 PAE 和更高的内存支持。

这是您可以在该主题上找到的一篇此类帖子。 http://www.overclock.net/t/596932/guide-make-32-bit-os-support-128gb-of-ram

启用大于 4GB 的操作系统支持后,您可以启用 AWE 并授予 SQL 访问额外内存的权限。

操作系统限制纯粹是由于许可,实际上并不是物理限制。Windows Server 变体说明了这一点,因为它们的 Server Datacenter 版本能够在 x86 中使用 64GB。SQL Server 对于 32 位应用程序来说是不寻常的,因为它实际上可以利用额外的内存,而大多数其他 32 位进程限制为 2GB/3GB。

于 2014-09-22T01:51:16.267 回答