cancel
Showing results for 
Search instead for 
Did you mean: 

SQLSERVR.EXE using 1.5 GB of Memory

Robert_Egloff
Level 3
I'm running into an issue where SQLSERVR.EXE is using 1.5 GB or RAM, if left unchecked on a server. The server has a total of 6 GB of RAM. Is running Windows Server 2003 Enterprise Edition and Backup Exec 10D.

Couple of questions on this:

Is this normal or a memory leak?

And also - I can limit the amount of RAM SQL uses, using SQL Management Express - what's the MAX limit I should set? 512, 256, 128 MB of RAM for SQL?

Rebooting or Re-started backup exec services correct this, but I would much prefer to keep it at a manageable level without having to reboot or restart services.
2 REPLIES 2

SoonerDave
Not applicable
Robert,
 
Are you using SQL 2005? If so, I might be able to offer a bit of help.
 
The memory management design of the SQLSERVR.EXE process is intended to allow it to grow to the system-defined maximum size, and not release memory until the operating system instructs it to do so. This is intended to prevent the process from being paged out.
 
On a stock 32-bit version of Windows, the standard maximum amount of memory available to a process is 2GB, and SQLServer reserves part of that space (around 256MB, maybe a bit more by default depending upon config) for things like external DLL's, the CLR, and other items where allocations are made outside of what is termed the standard buffer pool. That's why the process eventuallly maxes out at 1.5GB.
 
As a result, unless system configurations dictate otherwise, it wouldn't be unusual or indicative of a problem to see a long-running SQLSERVR.EXE process top out at 1.5GB, just as you have seen.
 
You can limit the amount of memory used by sqlservr via the "max server memory" configuration option, or via the GUI in the SQL Management Studio in the Server Properties dialog. The proper amount of memory to allocate is dependent on a number of factors; server load, size of databases, etc. there's no one best number.
 
Rebooting solves the issue because it restarts the SQLSERVR.EXE process with its default minimum allocation, which then starts growing again over time.
 
Hope that helps some.
 
-David
 

Adi_IT_Works
Level 2
I don't think this has anything to do with the Backup Exec??
 
But I've got to work to inspire BE support guys to reply to my post... Smiley Wink
 
This may help