Using the sql statement I checked for memory SQL Server has allocated through AWE mechanism
select sum(awe_allocated_kb) / 1024 as [AWE allocated, Mb] from sys.dm_os_memory_clerks
This was 18222 MB . Checking the sp_configure , the run value was max server memory was 18222 (MB). So far , good. I was not expecting to see any more memory allocated reported by the query.
The platform is SQL Server Standard Edition 32 bit on Windows 2003 Entrerprise Edition 32 bit .
There didn’t appear to be much activity – and looking at the Activity Monitor there were no Open transactions – therefore I was surprised to see the AWE staying at 18222 MB. I was expecting it to decrease – as other applications executed various processes.
Why isn’t it dynamically releasing? The documentation (SQL server BOL) indicates that on a platform of Windows 2003 and SQL Server 2005-
“During startup, SQL Server reserves only a small portion of AWE mapped memory. As additional AWE mapped memory is required, the operating system dynamically allocates it to SQL Server. Similarly, if fewer resources are required, SQL Server can return AWE mapped memory to the operating system for use by other processes or applications”
I was interested in the last sentence relating to SQL Server returning AWE mapped memory to the OS.
Main point to note: SQL server doesn’t release memory unless a)Min\Max memory changes or b)requested by OS , where another application requires more memory.
Author: Jack Vamvas (http://www.sqlserver-dba.com)This is only a preview. Your comment has not yet been posted.
As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.
Having trouble reading this image? View an alternate.
Posted by: |