Server exceeding maximum memory threshold

  • I have a server that is set to a minimum and maximum memory setting of 3GB. However external monitoring suggests that the SQL Server is regularly exceeding this usage level.

    AWE is not enabled. Does it need to be to stop this threshold from exceeded?

  • As far as I know SQL Server 32 bit can not use more then 2 GB without any special configuration. If you modify the boot.ini and add the /3GB parameter, it can use up to 3 GB. If you are using SQL Server 32 bit on WOW64, it can use up to 4GB. In all other cases you need to configure the awe in order to work with more memory. If you are running SQL Server 32 bit on windows 32 bit, then it looks like your monitoring tool is showing you’re the wrong information. Can you describe your environment? Also you can check the performance counter SQL Server:Memory Configuration - > Total Server Memory in order to check the amount of memory that the server is using.

    Adi

    --------------------------------------------------------------
    To know how to ask questions and increase the chances of getting asnwers:
    http://www.sqlservercentral.com/articles/Best+Practices/61537/

    For better answers on performance questions, click on the following...
    http://www.sqlservercentral.com/articles/SQLServerCentral/66909/

  • Hello should have mentioned that the SQL server is 64 bit on a 64 bit Windows Server. Does this alter your answer ?

  • Yes, one of the advantages of the 64bit environment is the extra memory at no additional Sql Server licensing cost. Have you restarted your SQL server to apply the memory changes? I believe this requires a restart.

    See information at:

    Partner site:

    http://www.teratrax.com/articles/sql_server_64_bit.html

    Microsoft but a pains to get a simple answer:

    http://www.microsoft.com/sqlserver/2005/en/us/64-bit.aspx

  • So just to clarify if the maximum memory allocation is set to 3 Gb then SQL Server shouldn’t exceed this amount, even if AWE isn't enabled ?

  • I just adjusted my test servers memory slightly below the amount it was using and noticed that it actually increased its' memory usage above the set point. Later today I'll stop and start it to see if it sets the value.

    If you look at Process the memory does appear to be above the specification but if you look at the physical available memory it definitely is larger. I assume that mean that the system just hasn't cleaned up freed memory and is reporting what the process is current allocated not what it is using. I cannot reboot my server enough time during to day to verify this but maybe a better tool would show this.

    I should also mention I am not using AWE and am using the Enterprise edition of Sql Server 2005

  • Forgive me, I'm fairly new here but my understanding of AWE suggests that it doesn't affect SQL's ability to limit it's max memory usage. The fact that when you set the memory limit and it increased rather than dropping to the limit suggests that the memory was already allocated and will not clear. it is possible that windows will reclaim that memory over time but more likely it will need to be manually cleared.

    Starting/stopping the sql service might work, but more likely you will need to reboot.

    AWE shouldn't affect anything in your situation.

    Wikipedia has a pretty good overview on awe, but the brief summary is, it only affects the ability to reserve a region of memory that is out of the operating system's mathmatical limit. (32-bit limit of 2^32 address space for example)

    Hope that makes sense!

    Wikipedia link for AWE:

    http://en.wikipedia.org/wiki/Address_Windowing_Extensions

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply