The problem that you are seeing is based on an older architecture
design for memory addressing. All the systems architecture up to
this point were based on a maximum of 4GB of total memory. Nobody
really thought, when this standard was designed, that this amount of
memory would actually be in use. The problem that has happened is
that you have PCI devices that require memory address ranges so that
they can properly execute their commands. These address ranges were
mapped in the upper sections of this maximum amount. Since nobody
thought you would be using up to 4GB these address ranges started
around the last 500MB of the memory ranges. This range is called
the T.O.M. or Top of Memory range. This is the point in the bios
where it places on hold the amount of memory that is required by the
various PCI devices that are found on the motherboard. Thus when
you have PCI cards or AGP cards installed on your motherboard these
devices hold on to memory for their own use and take away from the
maximum amount of memory that is available for other tasks. This
amount of memory can vary from a little as 200MB all the way to 1GB
of memory (or even more in select cases). It just depends on the PCI
devices you have and the amount of PCI (including AGP) that you have
installed all at once.
There is really no way to get around this basic design limitation.
The only way to get around these type of issues is to use certain
new designs that have brand new architectures (i.e 64-bit designs)
that allow memory to be mapped in area's above 4GB. The brand new
Intel Xeon designs and the AMD Opteron designs are built around
64-bit technology. This is only ½ of the equation that you would
need to find success. You would also need to use an OS that is
actually PAE or PAE aware so that it is able to address memory above
the 4GB level. To find out about PAE you can search Microsofts
website for PAE (Physical Address Extensions) and it will explain
this concept and what OS's actually are capable of providing this
benefit. Windows 2000 and Windows 2003 would fit both of these
criteria. Windows XP on the hand would not allow this type of ability.
Microsoft has addressed this type of issue in the following
Microsoft Article (291988)
http://support.microsoft.com/default.aspx?scid=kb;en-us;291988
[End quote]
http://www.tyan.com/archive/support/html/memory_faq.html
John
ohaya wrote:
Hi,
I have 4GB of memory in my machine, and during boot, the BIOS
displays 4GB.
However, when I boot into Windows 2000 Server SP4, and right-click
on My Computer, then Properties, it says "3,390,768 KB RAM".
I thought that the standard Windows 2000 Server is suppose to be
able to support up to 4GB of memory?
Thanks,
Jim
P.S. If I boot this same machine to Windows 2003 Server, the same
display says 4GB.