Question

I'm managing a co-located winserver08 box running both IIS and SQL 08 express. I just happened to glance at the task manager's performance tab and find the 'mem usage history graph is close to topped out reading 1.8 gig (i have 2 gig physical ram). Processes shows sqlserver is running at 940,000K - by far the largest consumer.

I'm a low volume site - cpu utilization barely registers. Haven't had any stability issues with the server at all. Is this just how SQL treats available mem or should I be digging deeper?

thx

Was it helpful?

Solution

SQL Server manages it's own memory pool. It will release memory back to the OS under memory pressure.

So, yes, this is normal behaviour and nothing to be concerned about.

Note: I should mention an exception to this: If TSQL scripts are using sp_OACreate to create COM objects and not releasing the object with a corresponding sp_OSDestroy (say, for instance an error occurs and the script terminates prematurely), then memory can leak. Use of these stored procedures is not that common (many DBAs won't allow this feature to be turned on, for good reason) I believe this is also the case for CURSORS that are not deallocated.

OTHER TIPS

Unless you have configured this is normal behavior. Read this article for a clear understanding of memory configuration and recommendations.

In your case, I assume you have the default settings and what you see is normal and there is no cause for concern.

Raj

Keep into account SqlExpress probably manages memory in a different way compared to any standard edition (that is, any non-express edition). I can't provide specific links but from personal experience things change a lot when you move to a proper distribution of SQLServer (speed, memory-manamgement, responsiveness in extreme conditions, etc).

If anybody knows something more please integrate my answer.

SQL Server will use something in the area of 90% of a machine's memory if it isn't capped. This is completely normal as SQL Server is managing memory for itself and will release memory as necessary.

If you are worried about it than you can cap the amount of memory SQL Server can use, by going to the properties of the sqlexpress instance, selecting the memory page and then reducing the maximum server memory.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top