您现在的位置是:首页 > 电脑技术查询 > 电脑知识

awe

编辑:chaxungu时间:2022-09-28 09:39:01分类:电脑知识

awe:地址窗口化扩展插件,允许在32位版本的windows操作系统上使用4gb以上的物理内存。最多可支持64gb的物理内存。

awe是windows的内存管理功能的一组扩展,它使应用程序能够使用的内存量超过通过标准32位寻址可使用的2-3gb内存。awe允许应用程序获取物理内存,然后将非分页内存的视图动态映射到32位地址空间。虽然32位地址空间限制为4gb,但是非分页内存却可以远远大于4gb。这使需要大量内存的应用程序(如大型数据库系统)能使用的内存量远远大于32位地址空间所支持的内存量。

在操作系统上配置awe之前,请考虑下列事项:
1.awe允许在32位体系结构上分配超过4gb的物理内存。只有当可用物理内存大于用户模式的虚拟地址空间时,才应该使用awe。
2.若要支持大于4gb的物理内存,必须将/pae参数添加到boot.ini文件中并重新启动计算机。
3.如果计算机上的可用物理内存超过16gb,操作系统就需要2gb的虚拟内存地址空间供系统使用,因此只能支持2gb的用户模式虚拟地址空间。为了使操作系统能够使用超过16gb的内存,应确保boot.ini文件中没有/3gb参数。如果存在该参数,操作系统就不能使用超过16gb的物理内存。

sqlserver2005enterpriseedition支持地址窗口化扩展插件(awe),从而允许在32位版本的microsoftwindows操作系统上使用4gb以上的物理内存。最多可支持64gb的物理内存。运行于microsoftwindows2000上的sqlserver实例使用静态awe内存分配,而运行于microsoftwindows2003上的实例使用动态awe内存分配。
所有数据库软件的一个主要设计目标是尽量减少磁盘i/o,因为磁盘的读写操作是最费资源的操作之一。sqlserver在内存中生成一个缓冲池来存放从数据库读取的页。sqlserver中的大量代码专门用于尽量减少磁盘与缓冲池之间的物理读写次数。sqlserver设法在以下两个目标之间达到平衡:
防止缓冲池变得过大,从而导致整个系统内存不足。

尽量增加缓冲池达的大小,以便尽量减少数据库文件的物理i/o。

默认情况下,sqlserver2005的各个版本动态管理每个实例占用的内存。在windows2000和更高版本的操作系统上,sqlserver管理映射awe的内存的方法有所不同。
运行在windows2000中的microsoftsqlserver2005实例在sqlserver启动过程中根据下列事件顺序分配内存:
如果可用物理内存小于用户模式虚拟地址空间,则无法激活awe。在此情况下,sqlserver将以非awe模式运行,而不管aweenabled选项的设置情况。
如果可用物理内存大于用户模式虚拟地址空间,则可以激活awe。
如果可用物理内存大于maxservermemory选项的值,sqlserver实例会锁定maxservermemory中指定的内存量。
如果可用物理内存小于maxservermemory选项的值或如果尚未设置maxservermemory选项,sqlserver实例只留下256兆字节(mb),而锁定所有其余的可用内存。
强烈建议每次启用awe时都为maxservermemory设置一个值。如果aweenabled设置为1(并且可用物理内存大于用户模式进程空间),则启动服务器后,运行在windows2000中的sqlserver2005实例将锁定几乎所有的可用内存(或maxservermemory的值指定的内存,如果设置了此选项的话)。如果尚未设置maxservermemory,则其他应用程序或sqlserver实例的可用物理内存将小于128mb。
无法将awe映射内存池换出到分页系统文件。如果需要使用额外物理内存,windows必须换出其他应用程序,这样做可能会影响那些应用程序的性能。
若不想影响其他应用程序的性能,请配置maxservermemory留出一些额外可用内存以备其他应用程序和操作系统的不时之需。可以通过了解计算机上使用的所有其他应用程序启动之后还有多少内存可用,来确定可安全分配给sqlserver实例的内存量。
使用sqlserver性能监视器totalservermemory(kb)计数器可以确定在awe模式下运行的sqlserver实例所分配的内存量,也可以从sysperfinfo中选择内存使用量来确定实例所分配的内存量。

在windowsserver2003中,sqlserver2005支持动态分配awe内存。在启动过程中,sqlserver将仅保留awe映射内存的一小部分。需要额外的awe映射内存时,操作系统会动态地将其分配给sqlserver。同样,如果需要更少的资源,sqlserver会将awe映射内存返还给操作系统,以供其他进程或应用程序使用。
windowsserver2003系列所支持的物理内存量增加了。awe可使用的物理内存取决于您所使用的操作系统。下面的列表列出了写入时每个windowsserver2003操作系统版本可以使用的最大物理内存。
windowsserver2003standardedition最高支持4gb的物理内存。
windowsserver2003enterpriseedition最高支持32gb的物理内存。
windowsserver2003datacenteredition最高支持64gb的物理内存。
sqlserver2005在任何windowsserver2003操作系统版本上运行时,都会动态地分配awe映射内存。换言之,缓冲池可以动态地管理awe映射内存(在minservermemory和maxservermemory选项的约束内)以平衡sqlserver内存的使用从而满足总系统要求。
如果启用awe,sqlserver2005将始终尝试使用awe映射内存。这适用于所有内存配置,包括配置以提供给应用程序低于3gb用户模式地址空间的计算机。
建议将windowsserver2003中运行的sqlserver2005的awe设置为默认内存模式。热添加内存功能要求在sqlserver的启动过程中启用awe。有关信息,请参阅热添加内存。
由于支持低于3gb的awe映射内存,因此可以在物理内存范围内定义minservermemory值和maxservermemory值,或使用两个选项的默认值。
可以考虑设置sqlserver的maxservermemory以保证其他内存能用于运行在计算机上的其他应用程序。尽管sqlserver可以动态释放awe映射内存,但无法将当前分配的awe映射内存换出到页文件。
若要使sqlserver2005实例能够使用awe,请使用sp_configure将aweenabled选项设置为1,然后重新启动sqlserver。




分配之后,直到sqlserver关闭才会释放awe映射内存。

上一篇:treo650

下一篇:拆字工具v1.0