• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 970
  • Last Modified:

Task manager shown sql server.exe with 22GB of memory???

Hi,
I wonder why sqlservr.exe in task manager can us up to 22GB of memory, what wrong with my sql memory utilization? I'm running sql server 64 bit and one thing that I realize is page lock memory as not been configured yet.
sqlmemory.bmp
0
motioneye
Asked:
motioneye
1 Solution
 
Christopher MartinezCommented:
This, unfortunately, is a common problem.
What you need to do is limit the amount of memory MSDE is allowed to use.

First, you need to open taskmanager, make sure you're on the process tab, select View > Select Columns. Make sure 'PID (Processor Identifier)' is selected. Now check the exact PID and open a command prompt and type 'tasklist /svc'. Look for the PID and find which is taking the memory.

From there, you can use the link below to ascertain how to limit the memory, using the osql command and connecting to the database.

http://support.microsoft.com/?id=909636

ISA tends to take alot of memory. In my case i had issues with sbsmonitoring. I did this.

C:\>osql -E -S SERVER\sbsmonitoring
 sp_configure 'show advanced options',1
 reconfigure with override
 go
Configuration option 'show advanced options' changed from 0 to 1. Run the
RECONFIGURE statement to install.
 sp_configure 'max server memory',70
 reconfigure with override
 go
DBCC execution completed. If DBCC printed error messages, contact your system
administrator.
Configuration option 'max server memory (MB)' changed  to 70.
Run the RECONFIGURE statement to install.


Instead of 'Server' usre the name of your server and instead of sbsmonitoring use the PID your having issues with.
0
 
motioneyeAuthor Commented:
Hi there is no reason for me to limit my memory, we do need more memory in this server to run, but I confuse why sqlserver.exe getting more memory, basically sqlserver.exe should and always consume little memory which just enough to boot the program and other memory will use by buffer pool which is internal to sql server
0
 
JayeshKitukaleCommented:
The TaskManager shows the memory consumed by:
1. The sqlservr.exe "code"
2. The "dynamic memory" allocated by SQL server to buffer the records and other data

So, the task manager does NOT JUST show the memory required to boot the program, but also the memory consumed while running (which is what you call buffer pool internal to sql server). Its the TOTAL memory consumed by the process which is quite large because the server might be fetching records and also buffering some of it for later use.
0
 
pcguy-zaCommented:
I found the article mentioned by Bahoopie very useful.  Note that MS say the sqlservr will continue to take memory on the off-chance that it may need it - but will release it if another process needs it.

I was able to set a maximum level using the method in the article - except that there is a problem in the syntx of the final command.  I used Bahoopies step-by step to input the command into osql.

motioneye - if your sqlservr is grabbing 22Gig - how much RAM does the server actually have?
0
 
motioneyeAuthor Commented:
Hi,
Our server has 32Gb of RAM which running with 64 bit edition of windows + sql, but what make me feel weird why in task manager it show me 22GB??? I have plenty of servers which running with big memory and only this server showing very huge memory used in task manager, others are only <1GB but internally sql consumed around the same amount too > 22GB
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now