Groups | Blog | Home
all groups > sql server clustering > october 2006 >

sql server clustering : 300MB DB uses 1.4GB RAM!?


William Bernat
10/25/2006 12:10:45 PM
SQL Server 2000 running nothing but a 300MB database over the course of a
month of continuous use from a single application winds up grabbing 1.4GB of
RAM. Is that normal or excessive? (No performance degradation at all, jut a
lot of RAM allocated.)



This is clustered, but the problem has occurred separately on each node.
Yes, that took over 2 months to test.



-billb





Phillip MacPherson-Cox
10/27/2006 7:54:01 AM
Hi,

Have you monitored the sysprocess table to find out what spid is utilizing
most of the memory?

[quoted text, click to view]
Kevin3NF
10/27/2006 7:55:02 AM
300 MB database, not GB :)

The question is what is using the other 900MB?

My guess (in another thread on a another group - cross posted) is that
mem-to-leave is large and full.

--
Kevin Hill
3NF Consulting
http://www.3nf-inc.com/NewsGroups.htm
http://kevin3nf.blogspot.com


[quoted text, click to view]

Kevin3NF
10/27/2006 8:31:42 AM
Yeah...but the default mem-to-leave is 256mb, right?

Data and index pages go into the Buffer pool.

So, if every page was in memory, there's 300mb. Mem-to-leave would have to
have been set using -g to 900mb...

Odd.

--
Kevin Hill
3NF Consulting
http://www.3nf-inc.com/NewsGroups.htm
http://kevin3nf.blogspot.com


[quoted text, click to view]

Edwin vMierlo
10/27/2006 9:12:56 AM
Unless you need to limit it (if you are running other processes on the same
machine), I wouldn't... the more ram SQL takes the better !!
really... you want SQL use all the availabe RAM and cache as much as
possible (in stead of going to disk)

IMHO


[quoted text, click to view]

Edwin vMierlo
10/27/2006 2:03:04 PM
cache for :
queries / views / stored procedures / tables / indexes ... and a lot more
which SQL holds in memory, when it has the RAM available



[quoted text, click to view]

Edwin vMierlo
10/27/2006 2:39:38 PM
http://support.microsoft.com/kb/271624

"DBCC MEMORYSTATUS"

reports back in number of buffers (1 buffer = 8 K)




[quoted text, click to view]

Alex Persky
10/27/2006 5:37:36 PM
It's going to grab as much as it can and will hardly give it back.

Yes, it's excessive. I would recommend set a limit on max amount of memory
allocation for SQL Server. The default is unlimited (or a very high number).
SQL Enterprise Management Console and right-click the server and go to
properties.


[quoted text, click to view]

Anthony Thomas
10/29/2006 8:51:38 PM
MEM TO LEAVE is 384 MB by default (-g is 256 MB default). Don't forget
about the other 128 MB set up to manage the possible default 255 worker
threads at 0.5 MB each. This is added to the -g parameter.

DBCC MEMORYSTATUS will tell you how SQL Server memory manager has
partitioned and allocated the BPool.


Anthony Thomas


--

[quoted text, click to view]

Alex Persky
10/30/2006 12:00:00 AM
Probably internal results from old queries and their indexes. The logic is
why not keeping them, maybe they'll be useful for next queries.

The fact is that SBS, for example, would even rise a warning event that all
available memory has been used by running programs, so I would suggest to
limit it anyway. Influence on speed is not going to be noticeable, until
such time comes when some of the indexes doesn't fit into memory.


[quoted text, click to view]

AddThis Social Bookmark Button