none
AWE分配的物理内存的什么情况下使用? RRS feed

  • 问题

  • 我们服务器内存为16G,OS是windows server 2003 64bit, SQL Server 2005 Standard 64Bit

    请问我还需要在SQL打开AWE开关来分配的物理内存吗?而这个AWE一般是在什么情况下使用的?


    Vincent
    2010年4月12日 1:53

答案

  • AWE可以让32位操作系统寻址更多内存,超过4GB的限制. 在sqlserver中使用AWE,可以防止sqlserver的working set被操作系统page out,起到lock page in memory的作用

    awe选项在64bit中依然存在,但是已经没有实际效果了. 这个选项是为了32bit而设计的.

     

    如果要在64位使用lock page in memory,看看下面的文章

    http://support.microsoft.com/default.aspx/kb/918483?p=1


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年4月12日 3:04
    版主

全部回复

  • don't need awe in 64-bit sql, it's for 32-bit sql to use memory above 4gb.
    2010年4月12日 1:59
  • AWE可以让32位操作系统寻址更多内存,超过4GB的限制. 在sqlserver中使用AWE,可以防止sqlserver的working set被操作系统page out,起到lock page in memory的作用

    awe选项在64bit中依然存在,但是已经没有实际效果了. 这个选项是为了32bit而设计的.

     

    如果要在64位使用lock page in memory,看看下面的文章

    http://support.microsoft.com/default.aspx/kb/918483?p=1


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年4月12日 3:04
    版主
  • 32位的操作系统, 并且物理内存>=4GB, 才需要考虑开启 AWE.

    64位系统直接支持大内存, 所以不用考虑 AWE选项.

    2010年4月12日 4:53
  • 从professional SQL Server 2005 Performance Tuning可以看到,微软专家建议,64位系统上仍然采用AWE是可以增进整体性能的,他们发现使用AWE内存能够令内存的分配和访问变得快很多,另外,内存不会被操作系统分页换出。在设定上,只需指定SQL Server服务的帐号有LOCK PAGES IN MEMORY的高级用户权限,那SQL Server将会自动使用AWE来访问缓冲池内存;

    但是对于SQL Server2005 64位的标准版,好像使用AWE有限制,最多使用32G,公司常常会使用64G内存,所以如果使用AWE只能用32G的话,是比较浪费的。

    当服务器的内存很多时,比如购买128G的内存,而数据库可能只用100G的大小,SQL Server是否有功能可以将全库都载入内存,这样的话速度应该是很快的,不知各位有什么好的建议,针对大内存这块,因为现在买128G的内存也不是很大的开销对于大公司的重要业务来说。

    • 已建议为答案 king1898 2010年6月20日 2:33
    2010年6月20日 2:33