誤區 #5: AWE在64位SQL SERVER中必須開啟
錯誤!
在坊間流傳的有關AWE的設置的各種版本讓人非常困惑。比如說如何設置起作用,如何設置不起作用,在32位和64位上是否需要AWE等。
好吧,我來概括一下:
- 在64位系統(SQL SERVER 2005+版本)
- AWE是不需要的(即使是ON狀態,也毫無影響)
- 開啟“鎖定內存頁”使得緩沖池中的內存頁不會被置換到虛擬內存中(實際上所有的Single Page Allocator分配和Stolen的內存都不會被置換)
- 當開啟“鎖定內存頁時”,SQL Server使用Windows AWE API來分配內存,這種方式略快
- “鎖定內存頁”僅僅在標准版和企業版中存在(譯者注:在非生產環境的開發版也是存在的)
- 在32位系統(SQL SERVER 2005+版本)
- 為了使用大於4G的內存,必須開啟AWE來使用額外的虛擬地址空間
- 為了使用AWE,“鎖定內存頁”權限必須開啟
- “鎖定內存頁”僅僅在標准版和企業版中存在(譯者注:在非生產環境的開發版也是存在的)
看上去有點復雜,這也是為什麼會引起困惑吧。
我的一個來自CSS的好朋友Bob Ward有一篇關於這塊非常好的博文:Fun with Locked Pages, AWE, Task Manager, and the Working Set…
PS:譯者有一篇關於內存管理的一篇文章:淺談SQL Server 對於內存的管理