该服务器是 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。