误区 #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 对于内存的管理