Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have SQL server 2008 installed in the production site and the max memory allocated for it is 28 GB of the total 32 GB ram. But sometimes, I see more than 29GB memory being used by the sql server which is not suppose to. Is there any corrective action I should be taking or do some clean up?

share|improve this question
add comment

migrated from stackoverflow.com Jul 26 '11 at 0:03

This question came from our site for professional and enthusiast programmers.

1 Answer

The max server memory setting only controls the size of the buffer pool. SQL Server may and will allocate more memory than the 28GB setting, for its own use of consumers unrelated to the buffer pool. Components (DLLs) loaded inside the process will also consume memory. How much more depends on the usage pattern, it can be few MBs more or it can be GBs more (eg. throw in a few XPs or sp_OA calls and the memory will go all haywire).

Your corrective actions should be to investigate the extra memory consumption. sys.dm_os_memory_clerks is your friend here, see also How to use the DBCC MEMORYSTATUS command to monitor memory usage on SQL Server. Certain memory consumers cannot be investigated from SQL Server DMVs and counters (eg. memory allocated by loaded DLLs, like COM components).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.