mysql awe_七、内存优化(1)启用AWE

一、内存体系结构

1. 32位操作系统与PAE

在 32 位操作系统中,可以访问 4 GB 的虚拟地址空间。2 GB 的虚拟内存专用于进程,由应用程序使用;2 GB 保留给操作系统使用。

在 Boot.ini 文件中使用 /PAE 开关,启用PAE(物理地址扩展)才能利用超过 4 GB 的内存。最多可以访问到64GB物理内存。

2. AWE

SQL Server 支持地址窗口化扩展插件 (AWE),从而允许在 32 位版本的 Microsoft Windows 操作系统上使用超过 4 GB 的物理内存。最多可支持 64 GB 的物理内存。Windows Server 2003 及后续的操作系统中,SQL Server 实例使用动态 AWE 内存分配。

启动过程中,SQL Server 仅保留一小部分 AWE 映射内存。需要额外的 AWE 映射内存时,操作系统会动态地将其分配给 SQL Server。同样,如果需要更少的资源,SQL Server 会将 AWE 映射内存返还给操作系统,以供其他进程或应用程序使用。SQL Server 和操作系统之间的这种平衡受到 min server memory 和 max server memory 参数的限制。

3. 锁定内存页

必须在启用 AWE 之前为 SQL Server 启动帐户授予 LOCK PAGE IN MEMORY 权限。

5361bf3a8bf5f9bcd66ed00cacc10d94.png

默认情况下,禁用 Windows 策略“锁定内存页”(Lock pages in memory)选项。必须启用此权限才能配置地址窗口化扩展插件 (AWE)。此策略将确定哪些帐户可以使用进程将数据保留在物理内存中,从而阻止系统将数据分页到磁盘的虚拟内存中。在 32 位操作系统中,如果在不使用 AWE 的情况下设置此权限会显著降低系统性能。在 64 位操作系统上不需要在内存中锁定页。http://technet.microsoft.com/zh-cn/library/ms190730(v=sql.105).aspx

4. SQL Server使用AWE内存的局限

应用程序申请内存有两种方式,一种是Reservrd/Committed,另一种是stolen。AWE内存只适用于前者,使用的过程如下:

(1)Reserved

应用程序调用Windows API,申请保留(Reserve)一块内存空间,以供将来使用。此时只是保留一段虚拟地址空间(VAS)上面的一段地址,尚未分配真正的物理内存空间。

(2)Committed

将预先保留的内存页面正式提交(Commit)给应用程序使用。此时正式在物理内存中申请了一段有效空间。

Reservrd/Committed技术为需要潜在的、大量的和连续的内存缓冲区的应用程序非常有用。SQL Server内存需求中仅有data cache 以这种方式申请内存。

也就是说,除了data cache可以使用4GB以上的AWE内存,SQL Server 中以stolen方式申请的其它内存都不能使用4GB以上的内存部分(仍局限于4GB以内)。因此,借助AWE将内存扩充到64GB类似于一种虚拟技术,它与64位操作系统的64GB内存不可同日而语。

二、启用AWE

1. SSMS

a89454fdbbb46d9769f7cc6ebe4e3452.png

2.SP_Configuresp_configure 'show advanced options', 1

RECONFIGURE

GO

sp_configure 'awe enabled', 1

RECONFIGURE

GO

3. 生效

必须重新启动 SQL Server 实例,AWE 才会生效。

当 SQL Server 实例启动时,如果已成功启用此选项,启动日志errorlog会有以下记录。server Address Windowing Extensions enabled.

二、局限性

1. 操作系统限制

64 位操作系统上不需要 AWE,也不能在该系统上配置 AWE。

如果可用物理内存小于用户模式虚拟地址空间,则无法启用 AWE。

2. 版本限制

只有 SQL Server Enterprise Edition、Standard Edition 和 Developer Edition 支持 AWE,并且 AWE 只能应用于 32 位操作系统。Analysis Services 不能利用 AWE 映射内存。

缓冲池最多可以访问 64 GB 内存。

3. 后续版本

SQL Server 2012删除了该功能。如果需要使用超过4GB的物理内存,请使用64位版本的SQL Server 2012。

本文结语:

在32位操作系统中启用AWE将带来性能的提升。建议使用64位操作系统与64位SQL Server。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值