Memory configuration.

greenspun.com : LUSENET : SQL Server Database Administration : One Thread

Mr Eric,

I am very confused the way, How SQL server and windows NT shares the physical memory.

Presently, I am facing memory error on my server and I don't under stand how to approach to the solution. Perhaps as usual u might help me in this.

My Windows NT Server has 512 MB RAM. I configured 400 MB Ram for SQL Server from enterprise Manager, Selecting the appropriate server and then going to the "Configure" button and selecting configuration tab and adding memory from the memory button. I added 400 MB of memory to SQL Server which is "409600".

But, when I run DBCC MEMUSAGE command from a ISQL, It displays me 800 MB configured to SQL Server and out of which 469 is configured for Page cache and 295 for Procedure cache. the rest is being shared by code, static structures and some other stuff. But, How come DBCC display me 800 MB of RAM when all what is 400 MB for the SQL Server.

Also, when I run windows NT Task manager on the server and go to process, There it display's someother value for the memory. Here it displays 472 MB of memory is being configured for SQL Server.EXE File. I don't understand this as well.

I don't understand, what's going on my server. My server has physical memory of 512 and how come SQL server allocated 800 MB of RAM memory to itself. and moreover my server displays that it's runing out of Virtual Memory.

would you please help me in this problem? I know, time to time you have been helping me in this forum and I would like to have your advice on this problem.

Thank you and awaiting for your useful advice.

Ayub Khan

-- Anonymous, July 26, 1999

Answers

Ayub,

You have miscalculated the memory configuration parameter. If you look carefully at the Server Configuration/Options dialog box in SQL Enterprise Manager when you click on the row for the memory parameter, you will note that the description box states: Maximum size (in 2K units) of system memory available for SQL Server.

Thus, it seems that you have allocated 800 MB (2K times 409600) for SQL memory on a system you know to have only 512 MB. It seems that one natural side effect of this over allocation is that your server displays that its running out of Virtual Memory.

Try changing the memory parameter to 204800 then restarting your SQL Server. (Or install at least 400 MB more memory!)

Hope this helps,

Eric

-- Anonymous, July 29, 1999


Moderation questions? read the FAQ