Maximum RAM for XP Pro 32-bit SP2

  • Thread starter Thread starter Scotter
  • Start date Start date
S

Scotter

Hi -

My motherboard supports 16 gig RAM.
I'm currently running 4 gig (this particular motherboard has 4 slots per
processor so I'm at 2 gig per processor).
The OS is reporting 2.75 gig when I right click on "my computer" because of
a "memory hole" set up automatically in BIOS. I am using the /pae for NUMA
and SiSoft Sandra shows it to be working.

I just ordered 2 gig more so I would have a total of 3 gig per processor.

I then heard that Windows XP Professional 32-bit w/SP2 is limited to "4 gig
*physical address space*" (as opposed to pre SP2 supporting "4 gig of
*RAM*").
Article here:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

Now my question is: does that mean it will handle 4 gig per processor? Or
just 4 gig total?

I'm wondering if the memory hole is considered before or after that 4 gig
ceiling and if the way my RAM is separated by processor makes any
difference.

I suppose, if I'm lucky, Windows will just ignore the extra RAM and
report/use exactly 4 gig after memory hole, etc. ... until I make the jump
to Vista. Of course, if I'm *real* lucky I'll find Windows XP SP2 will see
and use all of my 6 gig minus the 1.25 gig memory hole so it will report
4.75 gig but I doubt that will be the case.

--
Scotter
Tyan Thunder K8WE
Dual Opteron 252s @ 2.6ghz
4 gig DDR400 RAM
XFX 7800 GTX 256
500 gig SATA2 Hitachi
Dual 24" Dell LCDs
550W power supply
 
Hi -

My motherboard supports 16 gig RAM.
I'm currently running 4 gig (this particular motherboard has 4 slots per
processor so I'm at 2 gig per processor).
The OS is reporting 2.75 gig when I right click on "my computer" because of
a "memory hole" set up automatically in BIOS. I am using the /pae for NUMA
and SiSoft Sandra shows it to be working.

I just ordered 2 gig more so I would have a total of 3 gig per processor.

I then heard that Windows XP Professional 32-bit w/SP2 is limited to "4 gig
*physical address space*" (as opposed to pre SP2 supporting "4 gig of
*RAM*").
Article here:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

Now my question is: does that mean it will handle 4 gig per processor? Or
just 4 gig total?

I'm wondering if the memory hole is considered before or after that 4 gig
ceiling and if the way my RAM is separated by processor makes any
difference.

I suppose, if I'm lucky, Windows will just ignore the extra RAM and
report/use exactly 4 gig after memory hole, etc. ... until I make the jump
to Vista. Of course, if I'm *real* lucky I'll find Windows XP SP2 will see
and use all of my 6 gig minus the 1.25 gig memory hole so it will report
4.75 gig but I doubt that will be the case.

I can't tell you much about Windows because I use Linux but I can tell
you about how to deal with the memory hole. In your BIOS you should find
an option called Memory Hole Remapping, turn it on. I have 4G on my 4400+
system and with Memory Hole Remapping off Linux only sees 3.5G, with it on
it sees all 4G.

As for seeing more than 4G with Windows XP Pro, there is a good chance
that it's not possible. The x86 has a number of different memory mapping
options. 32 bit Linux kernels can be compiled to support 1G, 4G or 64G of
RAM. I would be willing to place a small wager that XP Pro uses the 4G
memory map option and that XP Server uses the 64G option. In either case
you'll be limited to 2 or 3G per process depending on how MS decided to
divide up the 32 bit address space, someone who is more Windows savvy then
me can tell you which it is. If you really what to have 6G of RAM in the
system you should upgrade to 64 bit XP.
 
Scotter said:
Hi -

My motherboard supports 16 gig RAM.
I'm currently running 4 gig (this particular motherboard has 4 slots per
processor so I'm at 2 gig per processor).
The OS is reporting 2.75 gig when I right click on "my computer" because
of a "memory hole" set up automatically in BIOS. I am using the /pae for
NUMA and SiSoft Sandra shows it to be working.

I just ordered 2 gig more so I would have a total of 3 gig per
processor.

I then heard that Windows XP Professional 32-bit w/SP2 is limited to "4
gig *physical address space*" (as opposed to pre SP2 supporting "4 gig
of *RAM*").
Article here:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

Now my question is: does that mean it will handle 4 gig per processor?
Or just 4 gig total?
Total.
Remember though this is physical address space, not virtual address space,
which can be larger.
I'm wondering if the memory hole is considered before or after that 4
gig ceiling and if the way my RAM is separated by processor makes any
difference.

I suppose, if I'm lucky, Windows will just ignore the extra RAM and
report/use exactly 4 gig after memory hole, etc. ... until I make the
jump to Vista. Of course, if I'm *real* lucky I'll find Windows XP SP2
will see and use all of my 6 gig minus the 1.25 gig memory hole so it
will report 4.75 gig but I doubt that will be the case.
You need XP 'server'. You also should probably use the /3GB switch, or the
individual applications will be limited to a maximum of a 2GB virtual
memory space (not address space though - important difference).
Unfortunately, PAE brings with it some extra costs (the size of the PTE
entries has to grow). It is this growth, that Pro does not support.

Best Wishes
 
Total.
Remember though this is physical address space, not virtual address space,
which can be larger.

Not with win/32. Virtual address space is the maximum segment size
and in 32 bit windows the user space is 31 bits/2GB inless you
play with the /3GB switch, which only brings it up to 3GB.
 
Al Dykes said:
Not with win/32. Virtual address space is the maximum segment size
and in 32 bit windows the user space is 31 bits/2GB inless you
play with the /3GB switch, which only brings it up to 3GB.
Even /3GB, won't change this, unless the application supports this (needs
'image file large address aware'). However, remember that an application,
does not have to run in a single address space. If an application is
multi-threaded, each thread can have a 2GB address space. I have a couple
of applications that do this, and use much more than 4GB.

Best Wishes
 
I can't tell you much about Windows because I use Linux but I can tell
you about how to deal with the memory hole. In your BIOS you should find
an option called Memory Hole Remapping, turn it on. I have 4G on my 4400+
system and with Memory Hole Remapping off Linux only sees 3.5G, with it on
it sees all 4G.

Interesting... I'll have to remember to look at my Asus A8V BIOS on the
linux box with 4GB of RAM (Linux is seeing 3.5GB). And I'm even running
a 64bit kernel.

On my WinXP Pro box, I simply took it from 1GB to 3GB because I had only
originally put in 2x512MB (and added 2x1GB). So I've not used any WinXP
boxes with more then 3GB yet. WinXP sees and uses all 3GB (PerfMon
reports 3145196KB total memory).
 
Interesting... I'll have to remember to look at my Asus A8V BIOS on the
linux box with 4GB of RAM (Linux is seeing 3.5GB). And I'm even running
a 64bit kernel.

On my WinXP Pro box, I simply took it from 1GB to 3GB because I had only
originally put in 2x512MB (and added 2x1GB). So I've not used any WinXP
boxes with more then 3GB yet. WinXP sees and uses all 3GB (PerfMon
reports 3145196KB total memory).

With 3G there is no memory hole problem so it doesn't matter what state
the BIOS is in. The IOMMU is normally mapped to the high part of the 4G
memory space which was never a problem in the past. Now that 4G of RAM is
possible a change is needed. Both the BIOS and the kernel need to be able
to handle the new scheme correctly. In the BIOS you have to turn on Memory
Hole Remapping, on my MSI K8N Neo4 the latest BIOS has two options for
this, hardware remapping and software remapping. As far as I can tell it
doesn't make a difference which one you use. The previous rev of the BIOS
only had Software Memory Hole Remapping. The second part of the equation
is the kernel. The kernel has to be able to locate the IOMMU. The 2.6.13.x
and 2.6.15.x kernels work fine, the 2.6.14.x kernels don't. Some bug in
the IOMMU code was introduced into the 2.6.14.x kernels that caused them
to panic when Memory Hole Remapping was enabled. The bug was fixed in
2.6.15 which is what I'm currently running.
 
With 3G there is no memory hole problem so it doesn't matter what state
the BIOS is in. The IOMMU is normally mapped to the high part of the 4G
memory space which was never a problem in the past. Now that 4G of RAM is
possible a change is needed. Both the BIOS and the kernel need to be able
to handle the new scheme correctly. In the BIOS you have to turn on Memory
Hole Remapping, on my MSI K8N Neo4 the latest BIOS has two options for
this, hardware remapping and software remapping. As far as I can tell it
doesn't make a difference which one you use. The previous rev of the BIOS
only had Software Memory Hole Remapping. The second part of the equation
is the kernel. The kernel has to be able to locate the IOMMU. The 2.6.13.x
and 2.6.15.x kernels work fine, the 2.6.14.x kernels don't. Some bug in
the IOMMU code was introduced into the 2.6.14.x kernels that caused them
to panic when Memory Hole Remapping was enabled. The bug was fixed in
2.6.15 which is what I'm currently running.

Excellent information about kernel versions. I'm still running 2.6.13.
 
Back
Top