2

I previously asked this same question a while back but that was for the x64 bit versions of the OS and Sql Server.

Now, I'm asking the same thing for the x86 (32 bit) versions of the OS and Sql Server.

So, is this a good thing to do? I'm assuming I would want to give my sql server as much ram as possible and the OS as little as possible.

Thoughts?

Pure.Krome
  • 6,338
  • 17
  • 72
  • 86

4 Answers4

4

If the server has less than 16GB and 4GB or more then yes /3GB switch is a good thing, don't forget /3GB's ugly sister /PAE, see table below.

If the server has more than 16GB then its a bad thing, as 2GB of kernel memory is required to manage the AWE address space.

In summary:

 -----------------------
|Memory (GB) | Switches |
|-----------------------|
| <4GB       | none     |
|  4GB       | /3GB     |
|  >4GB-16GB | /3GB /PAE|
|  >16GB     | /PAE     |
 -----------------------

to implement this on a Windows Server 2008 box, use the BCDEdit command:

bcdedit /set IncreaseUserVa 3072
Nick Kavadias
  • 10,758
  • 7
  • 36
  • 47
  • +1, I witnessed a server having Pain and Suffering with 18 GB, /3GB and /PAE. – Massimo Aug 24 '09 at 09:23
  • Never been keen on having both /3GB and /PAE (as shown on your 4GB-16GB range) as it potentially squishes the OS too much - would recommend only /PAE in that scenario. – SuperCoolMoss Aug 24 '09 at 10:07
  • those are recommended MS settings, just have to find a source. that table is from my brain so it may be wrong or out of date for win 2008 – Nick Kavadias Aug 24 '09 at 12:06
  • +1 - It was always a pain trying to dig these numbers up when setting up a new SQL server. – Doug Luxem Aug 24 '09 at 17:55
  • 1
    Hi Nick, if I have a 32 bit server with say 8GB - I only set the PAE flag and configure AWE. Also setting /3GB cuts the kernal space in half - possibly causing stability issues in certain instances. See this link - http://blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx – SuperCoolMoss Aug 24 '09 at 21:14
0

On x64 the switch is totally useless, as memory is managed quite differently than x86 systems.

On x86 it can be rather useful, as long as you actually have more than 3GB physical memory, of course.

Just be a little careful, because that switch forces Windows to only give 1GB virtual memory to the kernel, so if it needs more than that for whatever reason (f.e. managing more than 16 GB physical memory, as Nick said) you're running into troubles.

Massimo
  • 68,714
  • 56
  • 196
  • 319
0

Also see this thread for good general information on the /3GB switch.

Disclaimer: Yes, it is a question I posted

Sam
  • 871
  • 7
  • 12