Databases Reference
In-Depth Information
32-BitSystemMemoryConfiguration
There are several options with 32-bit systems that have been introduced over the years as ways to get
around the basic limitation that 32-bit has with only having 4 GB of VAS. You'll get a chance to review
each option over the next few pages so you can choose the right configuration for your environment.
/3GB
One way to increase the amount of memory a 32-bit process can use is to take some of the space assigned
to the kernel and use it for user-mode address space . You can do this by specifying either the /3GB or
/USERVA options in the boot.ini file. This is also called 4-gigabyte tuning (4GT).
The /3GB option moves the boundary to be at 3 GB, giving each process an additional 1 GB of VAS.
This does mean that the kernel now only has 1 GB of virtual memory to use. This can sometimes be
a problem that can result in the server crashing when the kernel runs out of VAS and can't free it
quickly enough.
The /USERVA option is new with Windows Server 2003 and provides a way you to specify a
different amount of address space to be taken from the kernel. It's used in conjunction with /3GB ,and
you can specify any value between 2 GB and 3 GB as the boundary between user and kernel address
space. This has the same effect of increasing each process's virtual address space and reducing the ker-
nel's address space as setting /3GB , and can have the same consequences if the kernel ends up running
out of memory space.
One of the limitations with reducing the amount of memory available for the kernel is that it reduces the
amount of memory available for the kernel to track physical memory. This is why when you turn on /3GB
the operating system is limited to using a maximum of 16 GB of RAM. If your server has 16 GB of RAM
or more installed, you shouldn't even try using /3GB . Figure 6-3 shows the virtual address space layout
with and without /3GB enabled.
Best Practice
Don't use /3GB ifyouhave16GBormoreofRAM.
/PAE (Physical Address Extensions)
Intel introduced a way to get around the 4 GB limitation of a 32-bit address bus by physically extending
the address bus to 36 bits. This extension is called Physical Address Extension (PAE). It allows a 32-bit
operating system to access up to 64 GB of memory but requires an Enterprise Edition or greater version
of Windows Server. It's also worth noting that 64 GB is only supported on servers running Windows
2003 SP1 and greater.
PAE is enabled by setting the /PAE flag in the boot.ini file to tell the operating system to use the ver-
sion of the kernel that can take advantage of those extra four bits of address bus. It also allows a 32-bit
Windows system to use more than 4 GB of memory.
There are some cases where you will end up running the PAE kernel even if you don't enable it in
boot.ini . This is the case if you are running a DataCenter edition of the OS and the hardware is hot-swap
memory enabled. In this case, because the server may have additional memory added at any time that
could exceed the 4 GB limit of 32-bit addresses, the OS always uses the PAE kernel just in case it ever has
to deal with more than 4 GB of physical memory.
Search WWH ::




Custom Search