我们有一台Windows Server 2008 R2(64位)8GB服务器,根据Sysinternals RAMMap ,使用AWE分配2GB内存。 据我所知,这意味着这些页面停留在物理内存中,不会被推出。 这会导致其他应用程序被推出物理内存。
在RAMMap中的“物理页面”选项卡上,所有AWE页面的“处理”列都是空的。
我们在该框上运行SQL Server,但是(通过SQL Server Management Studio,在服务器属性 – >内存下,在服务器内存选项下),它表示configuration为不使用AWE。
但是,当停止SQL Server时,AWE页面突然消失了。 所以它真的是罪魁祸首。
所以我有三个问题:
SQL服务器帐户是否有“内存locking页面”选项?
简而言之,1)以这种方式分配更快一些,2)SQL需要防止其内存被分页。
是否有一个特定的原因,你不希望SQL使用AWE?
参考: http : //www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-530-awe-must-be-enabled-on-64-bit-servers/
- 在64位系统(2005+)上:
- AWE不是必需的(事实上,它什么都不做)
- 打开“内存中的locking页面”权限可防止将缓冲池内存(以及任何使用单页内存分配的内存)分页
- 当设置了“内存locking页面”权限时,SQL Server使用Windows AWE API执行内存分配,因为它速度稍快
- 标准版和企业版支持“内存locking页”(请参阅此博客文章以了解如何在标准版中启用它)
另请参阅: locking页面,AWE,任务pipe理器和工作集的乐趣 – 这解释了为什么设置“使用AWE”为false实际上并不阻止使用AWE(它只与32位有关)