64 位 SQL Server 2005,内存 > 3GB

64 位 SQL Server 2005,内存 > 3GB

AWE 在 64 位服务器上有用吗?该选项仍然可用。它有什么作用吗?

答案1

AWE 类似于我们在 286 和 386 时代使用的老式分组交换 EMS。它允许访问较大的(> 4Gb)地址空间,方法是通过 32 位进程地址空间顶部的一个小窗口(256mb?)进行分组交换。

某些应用程序(例如 SQLServer)可以利用此内存来存储半结构化数据,例如数据库页面缓存。AWE 内存不能用于允许 32 位程序寻址超过标准 3Gb 地址空间。

简而言之,如果您有 64 位操作系统,请不要使用 AWE,您不需要它。

答案2

AWE 在 64 位操作系统上无关紧要,因为它可以支持较大的连续核心映像。该功能是基于 Xeon 和其他 32 位 CPU 中的一项功能(称为 PAE(物理地址扩展))的黑客技术,该技术允许 MMU 支持 36 位宽的物理地址总线。更宽的地址总线允许具有此功能的机器寻址 64GB 的物理 RAM,尽管单个进程一次仍然只能看到 4GB。

AWE 是一种技巧,它使用 Windows 提供的 API,允许进程管理 MMU。使用此 API,进程可以保留一个物理内存池,并将其中的块交换进或交换出其虚拟地址空间中的区域。 Stackoverflow 上的这篇帖子更详细地讨论了它的机制,并提供了一些外部资源链接。

64 位服务器上进程的虚拟地址空间要宽得多,因此您不必使用此类工具来寻址超过 4GB 的物理 RAM。进程可以本机使用 2**64(大约 1.8E19)个不同的地址(即指针为 64 位宽)。

答案3

我从未见过这种情况。SQL 可以使用 64 位系统上的所有可用内存。AWE 的目的是对 32 位系统执行相同操作。

答案4

另一个答案详细解释了原因 - 但总结一下 - 64 位服务器上的 AWE 选项不执行任何操作并且不是必需的

引用

AWE 不是必需的,并且无法在 64 位操作系统上配置。

相关内容