如何在 Windows Server 2003(32 位)和 SQL Server 2005(32 位)中使用 AWE?

如何在 Windows Server 2003(32 位)和 SQL Server 2005(32 位)中使用 AWE?

该服务器是 Windows Server 2003 SP2(32 位),运行 SQL Server 2005 SP3(32 位)。我相信该服务器有 4 GB 的物理 RAM。该机器在上周崩溃了两次,它是一台生产机器。据我所知,它启用了 AWE,最大内存限制为 6041 MB。我从未听说过 AWE,但我认为这有点可疑,怀疑抖动是机器崩溃的原因。

(仅供参考,AWE 已启用,并且 /3GB 开关存在于 boot.ini 文件中)。

今天我花了一些时间研究 SQL Server 的内存架构,但我认为我并不完全理解 AWE 的概念。

因此,地址 Windows 扩展 (AWE) 是相对于物理内存而言的,而不是虚拟内存 (分页)。如果机器只有 4GB 的物理 RAM,如果不接触分页文件,它怎么能使用更多的内存呢?

或者,服务器没有正确应用 AWE?也就是说,假设我有 8 GB RAM,但 Windows 2003 32 位用户空间只能访问 2 GB(使用开关时为 3GB)。但是,启用 AWE(并检查内存中的页面锁定)后,我可以为 SQL Server 2005(32 位)使用额外的 4GB RAM,再加上 Windows 的 4GB(3GB Windows 用户空间 + 1GB Windows 内核空间),前提是且仅当我拥有支持它的物理 RAM 时。

我真的很困惑,需要一些指导。我想确定我是否理解 AWE、它的工作原理以及它是否会导致机器崩溃。

感谢您的任何帮助。

答案1

如果您有 4 GB 的 RAM,并且启用了 AWE,您需要将最大服务器内存设置为不超过 3 GB 的 RAM,具体数量可能更少,具体取决于服务器上安装的其他内容。

您将需要启用 3GB 开关以及在 SQL Server 中启用 AWE。

相关内容