SQL Server 2008 Memory Consumption

Posted on 2011-09-19
Last Modified: 2012-05-12
I have a 64-bit Windows Server 2008 R2 Standard O/S, installed as a virtual platform.  The O/S reports that it has 12Gb of RAM installed - I don't know how much RAM the physical box has available to it.

The platform is used as a dedicated db server, running Microsoft SQL Server 2008 R2.

The db hosts 2x databases - a test db and a prod db, both for the same application.

The same application is also running on a separate db server, which is not virtualized.  That server is running 64-bit Windows Server 2003 R2 Standard editition, SP 2.  That box has 8Gb of RAM installed and is running a 64-bit version of Microsoft SQL Server 2005.  Again, its a dedicated db server and runs a PROD and TEST instance of the same db.

The problem that I have is that the 2008 platform needs to be re-started at regular intervals because it consumes all the memory - literally within a few days.  The 2005 platform hasn't been rebooted in years and consistently reports that approximately 8.5GB is being consumed.  So I don't believe its the application which is consuming the memory - indeed, no additional software has been installed on either db server.  In both cases, it is just the O/S + SQL Server.

When I re-start the MS SQL Server service on the 2008 box, the memory reduces from about 11.7Gb down to about 1.5Gb but as I say, within a few days its back up to 11.5+ GB.

When it closes in on the 12Gb limit, the box becomes unresponsive via remote desktop and starts to throw error message in SQL work sheets.

One issue which may or may not be related.  On the 2005 platform, I have a maintenance plan which does a daily full backup & backs up the transaction log every hour.  This works fine on the 2005 box but is also set up on the 2008 and has never worked.

Question by:LogistixSW
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 3
  • 3
LVL 13

Accepted Solution

dwkor earned 250 total points
ID: 36560709
This is completely normal (that SQL Server tries to consume all memory). But the fact that box becomes unresponsive is strange. What errors do you have in the log? Do you use external stored procedures and/or open xml? Is there also the possibility that memory is overcommitted on the host?

One thing you can probably do as the first step - limit Max server memory in server/memory configuration (server properties). Try to find what setting works best giving as much memory to SQL as possible

Author Comment

ID: 36560793
Thanks for the quick response.

All the memory settings should be  the defaults - I haven't purposefully changed them.

So on the General tab, Memory is showing as 12288(MB)

On the Memory tab, The configured values radio button is checked and:

"Use AWE to allocate memory" is not ticked.
Minimum Server Memory = 0
Maximum Server Memory = 10240
Index Creation Memory = 0
Minimum memory per query = 1024 KB

On the Processors tab (Configured values):

It has 4x processors (CPU0 through to CPU3).  
Maximum work threads: 0
Boost SQL Server priority: Not ticked

Does this help at all?

LVL 13

Expert Comment

ID: 36561210
Well, it's pretty straightforward configuration - everything should work fine. But again, there are a few factors that we don't know yet. That max server memory does not apply to a few different things that can make real memory usage higher than specified. You can try to lower it a little bit.

In any case, even if your server is under memory pressure, you should see warning messages in the log and performance degradation - system should not become unresponsive. Is there anything specific in sql server log and/or event viewer that can help to pinpoint issues? What exactly are the error messages you were talking about before.

Another big question mark is host memory configuration. You can see some "interesting" things if memory is over-committed
Free eBook: Backup on AWS

Everything you need to know about backup and disaster recovery with AWS, for FREE!


Author Comment

ID: 36561340
OK, I've lowered the maximum memory from 10240 --> 10000

Will wait for problems to start happening (assuming that they continue) and will feed back information from logs, SQL worksheets etc in due course

LVL 13

Expert Comment

ID: 36561472
I'd start with something smaller - perhaps 8000-9000MB and rather increase it later if system works stable.
LVL 10

Expert Comment

by:Ramesh Babu Vavilla
ID: 36565196
please check the available mbytes also ,
perfmon-> add counter-> memory-> available MBytes

sql server 64bit is a bad consumer of memory, if you check it by using
dbcc memorystatus
you can see the max memory occupied is SQL Server BUFFer manager
min and max memory  u keep is only to buffer manager.

Author Comment

ID: 36565683
See attached, this is what Perfmon reports

Author Comment

ID: 36565690
These are the results from dbcc memorystatus
LVL 10

Expert Comment

by:Ramesh Babu Vavilla
ID: 36565732
Column1      Column2      Column3
VM Reserved                              12615680            
VM Committed                             10505984            
Locked Pages Allocated                   0            
SM Reserved                              0            
SM Committed                             0            MEMORYCLERK_SQLBUFFERPOOL (node 0)       KB
SinglePage Allocator                     0            
MultiPage Allocator                      400            

hi server is heathy
just open server properties-> memory-> max memory of it,
if you  use reporting services-> then leave 2 GB for reportimg
1.5 GB for Operating system
and the rest to sql server,

LVL 10

Assisted Solution

by:Ramesh Babu Vavilla
Ramesh Babu Vavilla earned 250 total points
ID: 36565743
12 GB of memory is occupied by SQL Buffer Manger.

when you set the max memory option in SQLserver,
it is that you are placing the cap for SQL Server buffer manager,not the total sqlservr.exe application

you can confidently set the memory cap,it does not kills server performance

Author Comment

ID: 36565789
OK, thanks for the vote of confidence! :-)

No, we don't use reporting services.

can you offer any help as to how the maintenance plans aren't being executed as expected (see final paragraph on the intiial post)


Author Comment

ID: 37037295
will log the maintenance plans question separately to close this question

Author Closing Comment

ID: 37037305
thanks for your help guys

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

You might have come across a situation when you have Exchange 2013 server in two different sites (Production and DR). After adding the Database copy in ECP console it displays Database copy status unknown for the DR exchange server. Issue is strange…
New Windows 7 Installations take days for Windows-Updates to show up and install. This can easily be fixed. I have finally decided to write an article because this seems to get asked several times a day lately. This Article and the Links apply to…
To efficiently enable the rotation of USB drives for backups, storage pools need to be created. This way no matter which USB drive is installed, the backups will successfully write without any administrative intervention. Multiple USB devices need t…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question