【问题标题】:Can AWE use >4GB RAM on SQL Server 2005 dev edition on Windows XP 32-bitAWE 能否在 Windows XP 32 位的 SQL Server 2005 开发版上使用 >4GB RAM
【发布时间】:2010-10-03 12:36:34
【问题描述】:

在 Windows XP pro(32 位)上使用 SQL Server 2005 开发人员版 我注意到启用 AWE(高级窗口扩展)的复选框已启用。我有一个 Opteron 工作站,我可以轻松升级到 8GB 或更多,尽管在开发环境中移除 32 位 Windows XP Pro 是不切实际的。据我所知,在 32 位模式下运行的 Opteron 的 MMU 应该支持 36 位物理地址空间,就像 32 位 Xeon 一样。

减少 SQL Server 的内存占用可以让我给 Analysis Services 更多的空间。

  • 有谁知道 AWE 是否开启 Windows XP 支持超过 可用于 SQL 的 4GB 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?

【问题讨论】:

    标签: sql-server sql-server-2005 windows-xp awe


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢。 “Windows XP 不支持 PAE”正是这个问题的答案。 +1。
    • PAE 在 Windows XP 上受支持,但启用后仍限制为 4GB。它只允许支持 AWE 的应用程序充分利用 4GB 内存。否则,它们仅限于在硬件(如显卡)页面进入内存映射后可用的内存,因此通常为 3.5gb 或更少。 /3GB 开关更改了内存模型,因此应用程序最多可以使用 3GB,并且内核限制为 1GB,而不是默认的 2GB 和 2GB。我认为这与 PAE 方面无关,但应用程序必须具有大地址感知能力。
    • 重新阅读我链接到的页面,@tjmoore 似乎是正确的:“在... 32 位版本的 Windows XP 下提供了对 PAE 的支持”。但是:“Windows XP Professional 可以支持的最大内存量……也是 4 GB”。确认:/3GB绝对独立于PAE,但需要/LARGEADDRESSAWARE。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        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。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多