AWE Memory
April 28th, 2006 :
By Brad McGehee
If you are using SQL Server 2000 Standard Edition
under Windows NT 4.0, Windows 2000 (any version), or Windows 2003 (any
version), or are running SQL Server 2000 Enterprise Edition under the
Standard Edition Windows NT 4.0, Windows 2000, or Windows 2003, or if
your server has 4GB or less of RAM, the “awe enabled
” option should always be left to the default value of 0, which means that AWE memory is not being used.
The AWE (Advanced Windowing Extensions) API allows
applications (that are written to use the AWE API) to run under Windows
2000 Advanced Server or Windows 2000 Datacenter Server (or Windows 2003
Enterprise and Datacenter Editions) to access more than 4GB of RAM.
SQL Server 2000 and SQL Server 2005 Enterprise Edition
(not SQL Server 2000 or 2005 Standard Edition) are AWE-enabled and can
take advantage of RAM in a server of 4GB or more.
If the operating system is Windows 2000 Advanced
Server, SQL Server 2000 Enterprise Edition can us up to 8GB of RAM. If
the operating system is Windows 2000 Datacenter Server, SQL Server 2000 Enterprise can use up to 64GB of RAM.
SQL Server 2005 Enterprise Edition supports AWE
memory, allowing the use of physical memory over 4 gigabytes (GB) on
32-bit versions of Microsoft Windows operating systems. Up to 64 GB of
physical memory is supported.
In order for the operating system and SQL Server 2000
or SQL Server 2005 Enterprise Edition to take advantage of the
additional RAM, two steps must be completed.
Exactly how you configure AWE memory support depends
on how much RAM your server has. To configure Windows 2000 or 2003, you
must enter one of the following switches in the boot line of the
boot.ini file, and reboot the server:
·
4GB RAM: /3GB (AWE support is not used)
·
8GB RAM: /3GB /PAE
·
16GB RAM: /3GB /PAE
·
16GB + RAM: /PAE
The /3GB switch is used to tell SQL Server to take
advantage of 3GB out of the base 4GB of RAM that Windows 2000 supports
natively. If you don’t specify this option, then SQL Server will only
take advantage of 2GB of the first 4GB of RAM in the server, essentially
wasting 1GB of RAM.
AWE memory technology is used only for the RAM that
exceeds the base 4GB of RAM, that’s why the /3GB switch is needed to use
as much of the RAM in your server as possible. If your server has 16GB
or less of RAM, then using the /3GB switch is important. But if your
server has more than 16GB of RAM, then you must not use the /3GB switch.
The reason for this is because the 1GB of additional RAM provided by
adding the /3GB switch is needed by the operating system in order to
take advantage of all of the extra AWE memory. In other words, the
operating system needs 2GB of RAM itself to mange the AWE memory if your
server has more than 16GB of RAM. If 16GB or less of RAM is in a
server, then the operating system only needs 1GB of RAM, allowing the
other 1GB of RAM for use by SQL Server.
Once this step is done, the next step is to set the
“awe enabled” option to 1 within SQL Server 2000 or 2005 Enterprise
Edition, and then restart the SQL Server service. Only at this point
will SQL Server be able to use the additional RAM in the server.
One caution about using the “awe enabled” setting is
that after turning it on, SQL Server no longer dynamically manages
memory. Instead, it takes all of the available RAM (except about 128MB
which is left for the operating system). If you want to prevent SQL
Server from taking all of the RAM, you must set the “max server memory”
option (described in more detail later in this article) to a figure that
limits SQL Server to the amount or RAM you specify. (7.0, 2000, 2005) Updated 1-2-2004
*****
If you find that you are running into a memory bottleneck, and assuming you have the money to spend, SQL Server 2000 and SQL Server 2005 Enterprise Edition can support up to 64GB of RAM
.
How much RAM SQL Server 2000 or SQL Server 2005 Enterprise Edition can
use depends on which version of Windows 2000 or Windows 2003 you are
using and how much RAM your server can support. Assuming your server can
handle it, SQL Server 2000 Enterprise Edition supports up to 8GB under
Windows Advanced Server 2000 and Windows 2003 Enterprise, and up to 64GB
under Windows Data Center for both Windows 2000 and Windows 2003.
Normally, 32-bit CPUs, such as the Pentium family of
processors, can only support up to 4GB of RAM because of its limited
address space. To get around this limitation, SQL Server 2000 and SQL
Server 2005 Enterprise Edition supports a feature called AWE (Address
Windowing Extensions) that allows up to 64GB of RAM to be addressed.
Assuming you configure the appropriate hardware and
software, AWE support is not turned automatically on, you have to do
this step manually. To turn AWE support on, you must change the “awe
enabled” advanced SQL Server 2000 or 2005 option from 0 to 1. For
example, to turn on AWE support:
SP_CONFIGURE ‘show advanced options’, 1
RECONFIGURE
GO
SP_CONFIGURE ‘awe enabled’, 1
RECONFIGURE
GO
AWE memory cannot be dynamically managed, like memory
is normally managed in SQL Server. This means that SQL Server will
automatically grab all the RAM it can when it starts (except for about
128MB, which is reserved for the operating system), but it will not
release any of this RAM until SQL Server is turned off. If your server
is a dedicated SQL Server, then this might be OK. But if you are running
other software on the server, or are running multiple instances of SQL
Server, then you must specify the maximum amount of RAM that SQL Server
can grab when it is started. This can be done using the “max server
memory” configuration option. If you change this setting, you will have
to stop and start the mssqlserver service in order for the new setting
to take affect.
To set the maximum amount of memory that AWE memory
can access, you can use SQL Server’s “max server memory” configuration
option. For example:
SP_CONFIGURE ‘max server memory’, 4096
RECONFIGURE
GO
In the above example, we are telling SQL Server to
only use 4GB of RAM, leaving any other RAM available in the server free
for other applications.
While multiple instances of SQL Server can be used
with AWE memory, you probably won’t want to, as it can be a headache to
manage. In fact, running multiple instances of SQL Server in AWE memory
defeats the purpose of more RAM in the first place. Generally, your goal
of using AWE memory should be to support a single, very large instance
of SQL Server, not lots of smaller instances running on a single server.
分享到:
相关推荐
When used in combination with Intel’s Physical Addressing Extensions (PAE) on Windows 2000, an AWE enabled application can support up to 64 GB of memory Reserved Memory Pages in a processes address...
SELECT type,--Clerk的...sum(awe_allocated_kb)as awe_Allocated_kb,--开启AWE后使用的内存 sum(shared_memory_reserved_kb)as sm_Reserved_kb,--共享的保留内存 sum(shared_memory_committed_kb)as sm_Committed_k
前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE来限制内存。但是,在SQLServer2012...如果可用的物理内存比Maximum Server memory选项的还要多,那么SQLServer会锁
1 GO RECONFIGURE Go sp_configure ‘awe enabled’, 1 GO RECONFIGURE Go sp_configure ‘min server memory’,1024 Go sp_configure ‘max server memory’,3072 GO RECONFIGURE Go PS: OS需要打开AWE 即在boot....
3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名...
3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名...
3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名...
3.3.2 配置Shared Memory网络配置 62 3.3.3 配置Named Pipes网络配置 62 3.3.4 配置TCP/IP网络配置 62 3.3.5 配置本地客户端配置的安全性 65 3.3.6 配置本地客户端协议的顺序 65 3.3.7 设置共享内存的...
3.3.2 配置Shared Memory网络配置 62 3.3.3 配置Named Pipes网络配置 62 3.3.4 配置TCP/IP网络配置 62 3.3.5 配置本地客户端配置的安全性 65 3.3.6 配置本地客户端协议的顺序 65 3.3.7 设置共享内存的...
3.3.2 配置Shared Memory网络配置 62 3.3.3 配置Named Pipes网络配置 62 3.3.4 配置TCP/IP网络配置 62 3.3.5 配置本地客户端配置的安全性 65 3.3.6 配置本地客户端协议的顺序 65 3.3.7 设置共享内存的...
3.3.2 配置Shared Memory网络配置 62 3.3.3 配置Named Pipes网络配置 62 3.3.4 配置TCP/IP网络配置 62 3.3.5 配置本地客户端配置的安全性 65 3.3.6 配置本地客户端协议的顺序 65 3.3.7 设置共享内存的...