First published on MSDN on Aug 05, 2009
You may have questioned why, on 64 bit enterprise Edition, DBCC MEMORYSTATUS reports non zero “AWE allocated” memory even if ‘AWE enabled’ option is not enabled. A short description of SQL Server memory model will help to answer.
Here is an example of a DBCC MEMORYSTATUS output on a 32GB X64 Enterprise SQL Server 2005:
Memory Manager KB ------------------------------ -------------------- VM Reserved 33962976 VM Committed 547508 AWE Allocated 29843712 Reserved Memory 1024 Reserved Memory In Use 0
There are 3 available memory allocation types driven by the following condition:
At SQL Server startup you can find messages symptomatic of the chosen memory model based on the conditions exposed previously.
2009-07-01 11:24:46.330 Server Detected 4 CPUs. This is an informational message; no user action is required. 2009-07-01 11:24:46.400 Server Using locked pages for buffer pool. 2009-07-01 11:24:46.400 Server Using dynamic lock allocation.
2009-07-01 11:24:46.330 Server Detected 4 CPUs. This is an informational message; no user action is required. 2009-07-01 11:24:46.400 Server Using large pages for buffer pool. 2009-07-01 11:24:46.400 Server Using dynamic lock allocation.
2009-07-01 11:46:24.990 Server Detected 4 CPUs. This is an informational message; no user action is required. 2009-07-01 11:46:25.070 Server Using dynamic lock allocation.
First of all memory functions are standard Windows APIs and only two.
To sum up these are the default behaviors:
In conclusion if you use 64 bit Enterprise Edition with locked pages enabled the engine does use one of the same underlying APIs (AllocateUserPhysicalPages) as is used by AWE in order to acquire the locked pages. Consequently, if you look at DBCC MEMORYSTATUS or memory clerk output (sys.dm_os_memory_clerks.awe_allocated_kb) it will still show a non zero AWE allocated number.
There have been changes brought to Standard Edition I will expose in a following post.
Lionel Pénuchot – Senior SQL Premier Field Engineer
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.