Please explain the downsides to using 4Gigs of RAM in XP

Twitch22

Member
Sep 14, 2006
137
0
0
Hello all.

Just looking for a "layman's" explanation on why 32-bit versions of Windows XP can't fully utilize 4 Gigs of RAM. For example, I'm currently running Windows XP MCE with 2 Gigs. Everything runs well enough, but with DDR2 pricing so reasonable right now, I'd like to pick up another 2 Gigs if it'll actually be used somehow.

So, if I do put in another 2 Gigs of RAM, can I expect ANY performance increase at all? I'm not quite ready to move to Vista yet...waiting for more drivers and apps stability.

Thanks for any insights!

Twitch
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Actually I can explain it easily in layman's terms in a few words...

32 bit OS cannot see more then 3GB of ram... if you put in 4 GB of ram it will see 3GB.
So that upgrade from 2 to 4 will give you 3GB, wasting half your money... if you could put in a 1GB stick then go on ahead, and get yourself the max support ram at LESS MONEY.

Putting 4GB of ram there does not give you any DRAWBACK to performance. it will simply increase your ram to the absolute max your OS can support. It will give you alot less then the full amount of ram you paid for, but it is not useless.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Actually I can explain it easily in layman's terms in a few words...

With the caveat that you'd be wrong.

32 bit OS cannot see more then 3GB of ram... if you put in 4 GB of ram it will see 3GB.

Sure it can, the upper limit of 32-bit addressing is 4G. The reason you might see 3G is because of hardware needing memory addresses for MMIO but that amount will vary so you could see anywhere from like 3.9G down to almost 0 depending on your hardware config.

If you run a 32-bit OS that full supports PAE and you remap the memory addresses stolen for MMIO above the 4G mark you can use as much memory as you'd like since PAE increases the the amount of addressable memory to 36-bits or 64G.
 

JustaGeek

Platinum Member
Jan 27, 2007
2,827
0
71
Originally posted by: Nothinman
Actually I can explain it easily in layman's terms in a few words...

With the caveat that you'd be wrong.

32 bit OS cannot see more then 3GB of ram... if you put in 4 GB of ram it will see 3GB.

Sure it can, the upper limit of 32-bit addressing is 4G. The reason you might see 3G is because of hardware needing memory addresses for MMIO but that amount will vary so you could see anywhere from like 3.9G down to almost 0 depending on your hardware config.

If you run a 32-bit OS that full supports PAE and you remap the memory addresses stolen for MMIO above the 4G mark you can use as much memory as you'd like since PAE increases the the amount of addressable memory to 36-bits or 64G.

Which is NOT possible on consumer versions of 32-bit Widows XP or Vista, correct...?
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Which is NOT possible on consumer versions of 32-bit Widows XP or Vista, correct...?

Correct, MS intentionally limited them to 4G to protect you from bad drivers so even if you only have 4G of memory exactly you won't be able to use it all since some of it will be mapped above the 4G mark and out of the reach of non-Server, 32-bit versions of Windows.
 

JustaGeek

Platinum Member
Jan 27, 2007
2,827
0
71
Originally posted by: Nothinman
Which is NOT possible on consumer versions of 32-bit Widows XP or Vista, correct...?

Correct, MS intentionally limited them to 4G to protect you from bad drivers so even if you only have 4G of memory exactly you won't be able to use it all since some of it will be mapped above the 4G mark and out of the reach of non-Server, 32-bit versions of Windows.

Thanks.
 

pallejr

Senior member
Apr 8, 2007
216
0
0
but the 64-bit is funnier to play with when you have a lot of ram, because the virtual address space grows along with it, in 32-bit it's stuck at 4GB, even in PAE mode.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
It's true that you need a 64-bit system to get more VM but you're likely to be running 32-bit processes in Windows anyway since you have to wait for each developer to port their software.
 

pallejr

Senior member
Apr 8, 2007
216
0
0
yes, you're still stuck if you need oldies, but with the slight advantage that the process doesn't need to share the 4GB with the kernel, so it has the oppunity to grow a bit more
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
No it doesn't, by default Windows still only gives it 2G of VM unless it's marked large address aware and then it can grow to 4G.
 

pallejr

Senior member
Apr 8, 2007
216
0
0
that is what i meant by "oppunity" :)
with the right tool, you can set this flag yourself, and hope the application doesn't crash
 

bryanW1995

Lifer
May 22, 2007
11,144
32
91
that's not exactly "layman's terms". If I understand the issue correctly, once you get over 3gb your computer "steals" some of the memory. If you have an 8800gtx it will take the 768 mb of memory out, leaving you with around 3.25. If you have 8800gtx in sli then you're down even more,etc. However, you could be like me and just have a 1950xt 256mb card, leaving you theoretically at least closer to 3.75 gb. There are other items that take memory but the video card is the example that I've always heard used.

 

PCTC2

Diamond Member
Feb 18, 2007
3,892
33
91
It's also not given the the addressing space in a 32-bit enviroment will take up exactly 1 GB. I boot into both 32-bit XP and 64-bit XP and Vista. Of course, the 64-bit OSes see all 4 Gigabytes of RAM, however the 32-bit XP only sees 2.3GBs. That's 1.7 GB for addressing space.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
that's not exactly "layman's terms".

Because it's not a simple subject.

that's not exactly "layman's terms". If I understand the issue correctly, once you get over 3gb your computer "steals" some of the memory.

The hardware steals the addresses no matter what. The only reason you notice when you get over the 3G mark is because the addresses start at 4G and work their way down and where they stop depends on the hardware config.

There are other items that take memory but the video card is the example that I've always heard used.

Just about everything on the motherboard gets some addresses, video cards are the best example because they need the most amount of addresses.

It's also not given the the addressing space in a 32-bit enviroment will take up exactly 1 GB. I boot into both 32-bit XP and 64-bit XP and Vista. Of course, the 64-bit OSes see all 4 Gigabytes of RAM, however the 32-bit XP only sees 2.3GBs. That's 1.7 GB for addressing space.

The 32-bit address space is 4G no matter what, everywhere you say "addressing space" you mean "addresses stolen by hardware for MMIO".