I have a 32-Bit Windows 2003 machine with 3.75GB RAM running one SQL Server 2005 instance. I am trying to optimize memory. If I use the switches in boot.ini like below,

/3GB /Userva=2490

should I set the min and max server memory on the SQL Server instance to that 2490, or less than that? (2490 = 3840MB available - 1350MB for Windows)

2 Answers 2


I suppose the real question here is "what are you trying to solve". At best you are only going to get a few hundred extra MB into your buffer pool. If you are doing this to solve a performance problem then you should make certain your problem is related to memory and not something else, like network.

Are you running Win2003 Enterprise, or Standard?

If Enterprise, you should look at using /PAE along with AWE to squeeze out some extra RAM.

If you are not running Enterprise, then I believe the /3GB and /USERVA switches are recommended by MS, but like I said before this is only going to gain you a few hundred extra MB at best.

The /3GB switch reduces the number of Page Table Entries (PTEs) for your O/S. So, if you are already seeing paging on your server, if you use /3GB you are likely to see more as a result.

Lastly, MS does not recommend using the /USERVA switch for values under 2900, so you may find yourself with a server in an unsupported state. Then again, it is Win2003, so it is just about out of support anyway, so that may not be an issue for you.


I typically like to put 1 GB of ram on the windows machine and make sure no one connects to it doing something crazy like running SSMS off of it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.