Link to home
Start Free TrialLog in
Avatar of LogistixSW
LogistixSWFlag for United Kingdom of Great Britain and Northern Ireland

asked on

SQL Server 2008 Memory Consumption

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.

Help...?
ASKER CERTIFIED SOLUTION
Avatar of dwkor
dwkor
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of LogistixSW

ASKER

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?

Jaime
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
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

Thanks
I'd start with something smaller - perhaps 8000-9000MB and rather increase it later if system works stable.
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.
See attached, this is what Perfmon reports
Capture.JPG
These are the results from dbcc memorystatus
dbcc-memorystatus-20Sep2011.rpt
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,

s
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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)

Thanks
will log the maintenance plans question separately to close this question
thanks for your help guys