• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Why would Win XP Pro show 2 different memory sizes?

deadken

Diamond Member
A year and a half ago, we upgraded my sons PC for his Xmas gift. He got a Intel e7300, Asus P5Q mobo and 2 x 2GB of Corsair Ram. I knew that since we where using a 32bit OS, we wouldn't see the whole amount of Ram, but prices were cheap enough to get 2x2GB and be ready for the next OS upgrade. If you go to his system properties, you will see 3.25GB of Ram.

Fast Forward: 2 months ago. I upgrade my system to a Phenom II, Asus mobo, and 2 x 2GB of OCZ Memory. I installed XP Pro and 'only' see 3.00 GB of Ram. We both have SP3.

For what it is worth, a month ago, we had to re-install his OS (he is 14 y.o. and it was just time to start fresh). I am pretty sure that I used the install CD from my system (but, I was SURE to use his COA key) and sure enough, it still shows 3.25GB (even before the SP3 update IIRC).

I was just wondering why there would be two different amounts of Ram?

For the record, I typically 'skip' every other OS. Not intentionally, but it has worked out that way. From Win98, I did go to 98SE, but I skipped over Win ME. I got XP Pro, but skipped over Vista. I plan to go to Win 7 when finances allow (3 PC's in my house).

-Ken
 
on-board video and video card size can bite into the ram - also that turbocache junk is not managed in xp like win7 (both onboard and turbocache is dynamically dealt with in win7)
 
32-bit normally allows for 2GiB (gibibyte) memory addressing.

By using PAE, you would get in essence 33-bit addressing, as you would be able to use up to 2GiB for userland processes and 2GiB for kernel usage.

Thus, no program on 32-bit (regularly compiled) can use more than 2GiB memory. And on 32-bit windows all programs must compete for 2GiB of memory; even if you have more. Anything beyond 2GiB would, in most cases, only be used for kernel memory.

So by all means, consider your RAM to be capped at 2GiB when using 32-bit. The rest might be used as file cache and other kernel memory.

As 32-bit memory was a limit for many years, hardware began to use addresses beyond 32-bit, which complicates things when you increase memory beyond 32-bit addressing. That, i think, is the reason your memory is not displayed as 4GiB. Though i don't remember details about that.

Either way; you would want 64-bit OS if you require a lot of memory. You would also need 64-bit binaries to actually use more than 2GiB memory for just one process.
 
I would like to point out that if you don't use 64bit OS then your cpu is running in 32bit emulation mode, which means literally parts of it are not being used.
For example, only 3 out of the 8 registers are used.

What it means is that 64bit programs are faster even if they do not need the extra ram.
Max theoretical increase is 400% improvement. there are a few rare programs that get that (hash calculation)
Most programs get closer to 30% (ex: 7zip compression is 23% faster)
some programs get 0% increase though.

It is a good idea to switch to 64bit to enjoy that extra speed.

As far as PAE goes, with the exception of server enterprise edition windows does not support PAE, and if it did, then all drivers would have to also support it or you get blue screens. (which severely limits hardware choice)

Thus, no program on 32-bit (regularly compiled) can use more than 2GiB memory. And on 32-bit windows all programs must compete for 2GiB of memory; even if you have more. Anything beyond 2GiB would, in most cases, only be used for kernel memory.
if you have 3GB, then program A might take 2GB while other programs could use the remaining 1GB (well, more like remaining 300MB after you consider the amount of ram the OS itself consumes)
 
Last edited:
I was just wondering why there would be two different amounts of Ram?
Different hardware setups.

By using PAE, you would get in essence 33-bit addressing, as you would be able to use up to 2GiB for userland processes and 2GiB for kernel usage.
You're confusing virtual address space with physical address space. Whether running PAE or not, you still have 4GB total virtual address space divided into 2GB for kernel and 2GB for user space per 32-bit process. This has no effect on addressable DRAM.
 
Did you change graphics card at all during the upgrade?
During his upgrade, Yes. He went from a S754 w/PCI-e to e7300 w/PCI-e.
During my upgrade, No. I went from a S754 w/PCI-e to Phenom II w/PCI-e.

Hmmm, I didn't think about how much room the BIOS might allow for Video Memory addresses. Perhaps since my card has 640MB of Video memory, and his has 512MB of Video memory, the 'extra' addresses aren't available for the system memory?

He went from a 8600GT to a 4830.
I had a 8800GTS and still do (I might change that out soon, but I will have to decide whether or not to 'upgrade' the OS first, or if I can afford to do both OS and Video at the same time).
Neither Video card used / uses 'shared' memory.


Different hardware setups.
Hmmm.. I guess that just could be. I had assumed that it would be governed by Windows, but I guess maybe the motherboard (or perhaps, the BIOS settings for video memory addresses).


-Thanks, Ken
 
Did you change graphics card at all during the upgrade?
During his upgrade, Yes. He went from a S754 w/PCI-e to e7300 w/PCI-e.
During my upgrade, No. I went from a S754 w/PCI-e to Phenom II w/PCI-e.

Not a single one of those terms has anything to do with his question.
Your socket type for CPU (S754), CPU model (phenom II), and GPU slot type (PCI-e) have nothing to do with the issue.

He wanted to know what the ram of your video card is. For example, if you switched from an nVidia Geforce 8800GTS w/ 640MB ram to an ATI Radeon HD5850 w/ 1GB of ram. Note that those are the ram values of the video card itself, not the RAM plugged into your mobo.

This is because the RAM of the video card takes up addresses which makes them not available for the OS... Other values are also reserved.
a 32bit OS actually can address 4GB of ram, but some of that 4GB is reserved for various things, including a good chunk reserved for video card ram. So if you switched from a video card with 512MB of ram to a video card with 1GB of ram your OS will not see half a gig less of ram.

Hmmm, I didn't think about how much room the BIOS might allow for Video Memory addresses. Perhaps since my card has 640MB of Video memory, and his has 512MB of Video memory, the 'extra' addresses aren't available for the system memory?

He went from a 8600GT to a 4830.
I had a 8800GTS and still do (I might change that out soon, but I will have to decide whether or not to 'upgrade' the OS first, or if I can afford to do both OS and Video at the same time).
Neither Video card used / uses 'shared' memory.
Wow, its impressive that you figured it out yourself without having it explained.

Video cards often come with different amounts of ram, so it would have been more useful if you could specify... such as saying 8600 w/ 256MB of ram or 8600GT w/ 512MB of ram.

But regardless, the 8600GT most commonly came equipped with 256MB of ram, and the 4830 with 512MB of ram... assuming your specific cards used those most common configurations then by upgrading your video card you would lose an additional 256MB of ram in a 32bit OS.
 
Last edited:
He wanted to know what the ram of your video card is. For example, if you switched from an nVidia Geforce 8800GTS w/ 640MB ram to an ATI Radeon HD5850 w/ 1GB of ram. Note that those are the ram values of the video card itself, not the RAM plugged into your mobo.

This is because the RAM of the video card takes up addresses which makes them not available for the OS... Other values are also reserved.
a 32bit OS actually can address 4GB of ram, but some of that 4GB is reserved for various things, including a good chunk reserved for video card ram. So if you switched from a video card with 512MB of ram to a video card with 1GB of ram your OS will not see half a gig less of ram.


Wow, its impressive that you figured it out yourself without having it explained.

Gotcha... I didn't figure it out by myself so much as made the connection from him asking about video cards to remembering way back when, when you used to set inside BIOS how much room you wanted to allow for Video Card Memory.

I can't remember how much memory was on that 8600GT, but I'd have to guess that it was 512mb, since his 4830 is 512mb and his PC still shows 3.25GB of Ram.


I thank you guys for your input. I'd like to ask for a little bit of clarification as to how much ram is usable within Win XP Pro 32bit?

I don't want to start a fight, but I really don't understand why so many different people have so many different answers. Frankly, the price of 2x2GB was close enough to 2x1GB to make me feel it was worth it, to be ready for the next OS. But, I really thought that I would be getting a slight improvement with XP and 2x2GB. I didn't expect that everything would be better, but I thought that some things might take advantage of the bit more memory.

-Ken
 
It may have to do with that particular ASUS motherboard, as I had the same issue when upgrading another ASUS motherboard on little brother's PC (ASUS P5B-E Motherboard, P965 shipset).

For the P5B-E, the BIOS has a "Memory Remap" option, which according to some research, should be "disabled" for RAM amounts greater than 2GB in a 32-bit OS (but "enabled" for a 64-bit OS with greater than 2GB of RAM).

However, instead of showing the conventional 3.25GB, the ASUS board shows around 3.00GB (or 3008MB) when memory remap is disabled (and only 2GB when it is enabled). This is with Windows XP Pro 32-bit installed.

Another PC in the house has a Dell OEM (Foxconn) G33 based motherboard, and when that was upgraded to 4GB, it showed 3.25GB in Windows XP PRo 32-bit.

Its strange that both of your motherboard are ASUS, but one shows 3.25GB whereas the other shows 3.00GB.

This thread has more info which may possible help:

http://www.overclockers.com/forums/showthread.php?t=577233
 
Back
Top