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
(The article is dated, it is several years old. It makes no mention of
64-bit operating systems which, of course, are capable of using more
than 4GB of RAM)
Current crop of Microsoft 32-bit operating systems that can utilise more
than 4GB of RAM with the use of Physical Address Extension:
Windows 2000 Advanced Server - 8 processors and 8 GB RAM
Windows 2000 Datacenter Server - 32 processors and 32 GB RAM
(support for 64 GB was not offered because of a lack of systems for testing)
Windows Server 2003, Enterprise Edition - 8 processors and 32 GB RAM
Windows Server 2003 SP1, Enterprise Edition - 8 processors and 64 GB RAM
Windows Server 2003, Datacenter Edition 32 processors and 64 GB RAM
Windows Server 2003 SP1, Datacenter Edition 32 processors and 128 GB RAM
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx
John