[dba-SQLServer] Using 4 gbytes of RAM

JWColby jwcolby at colbyconsulting.com
Thu Aug 31 09:05:22 CDT 2006


Is anyone using a machine with more than two gig of Ram?  I am reading
things about doing this and there seems to be a lot of confusion on the
matter.  Much of the confusion seems to come from the fact that until the 64
bit versions of the X86 processors, the "internals" of the processor were
all 32 bits which limited direct generation of addresses to 4 gig.  All of
my machines are 64 bit (AMD) processors so theoretically they can use more
than 4 gig but how?
 
Everyone seems to agree that in XP32, only 4 gig is available to work with
and that things like video cards and other "machine stuff" eats into that.
Thus regardless of anything, you will end up with less than 4 gig due to
that, perhaps as little as 3.25 gig.  After that, confusion reigns, at least
in my mind.  
 
Understand that I am discussing Windows XP 32 specifically, although anyone
is welcome to chip in what they "know" regarding other windows versions as
long as they specify what version they are discussing.
 
The next thing that is discussed is that the OS itself reserves 2 gig for
itself (which includes the video etc AFAICT), leaving up to 2 gig for EACH
APPLICATION, implying that any application can have / use up to 2 gig.
 
Some claim that if you have 4 gig, the swap file won't be used since that is
part of the 4 gig available.  It seems illogical since each application can
use up to 2 gig.  However I have created a separate partition to hold my
swap file and tried to create one of 6 gig and Windows refused, limiting the
size of the swap file to 4 gig.  
 
So I am trying to figure out what the reality is.  If a machine has 4 gig
physical ram, and "machine stuff" uses (for argument's sake) .75 gig, is the
.75 gig of physical ram simply unused?  Is it used by the OS for buffers?
What about the swap file?  If you have a 4 gig swap file, would you have
7.25 "total available memory" for Windows use?  Does this indeed then limit
the APPLICATIONS to 5.25 gig of "total" memory and 2 gig of physical memory?
And what happens if you manage to get (for the sake of argument) 8 gig
stuffed into a machine.  Some motherboards claim to handle that much but can
Windows XP 32 actually use it?  
 
Can Windows XP 64?  If you need this much memory is Windows XP 64 a way to
get at the memory?  If you are still using 32 bit apps, will it actually map
as much as 2 gig of physical memory to the 32 bit apps so that (for example)
3 high powered memory hungry 32 bit apps actually had 2 gig available to
each of them all the time?
 
If anyone has run across any authoritive (on-line) reading on the subject I
would love to look at it.
 
John W. Colby
Colby Consulting
www.ColbyConsulting.com
 



More information about the dba-SQLServer mailing list