We help IT Professionals succeed at work.

Windows XP SP2 shows 3GB total RAM instead of 4GB

pavuluri79 asked
i used the /PAE and i also tried using the /USERVA
but i still get only 3 gb available. i know that some memory is needed for the PCI devices, Bios etc.is there any utility or process by which i can check where the missing 1 GB is being used( like 100MB for Bios, 300MB for video etc)
Watch Question

A 32 bit OS can only address up to 4GB system memory, so usually about 3.5GB will be usable to the system. Upgrade to a 64 bit OS inorder to access full 4 gig.

You would nee to use 64 bit XP to see all of mem you installed, otherwise 3 gig and something is all you can see. http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx
Top Expert 2007

The missing 1GB isn't being used at all. The issue here is that a 32 bit OS can only have 4GB of address space. This is not ram, it is that virtual space in memory that the OS can access. The ram is a component just like all the other components that need address space(not ram) the system components get there address space first then the ram gets whats left of the address space.
This has been asked alot here lately, some examples
Top Expert 2007

Also, the PAE switch won't rectify this as it is only meant to extend the amount of address space available to applications. The default amount is 2GB address space for application use and the PAE switch allows applications to use 3GB of addressable space, but only if it is written into the application code.
The /USERVA only gives you a better control on how much of the extra 1GB that the PAE switch allocates or returns to the kernal  mode address space.
Sorry to tell you this, but Windows XP 32-bit can only address up to 3gb of ram.  It is a hardware issue with all x86 systems.  To see the full 4gb, you will need to update to Windows XP 64-bit, or do some nasty hacking of the PAE extensions.

Bottom line:

Go with 64-bit and see 4gb, or stay with 32-bit and see 3gb.


i have two machines that have windows xp pro SP2 on them
1) one has 3328 MB total RAM
2) the other has 3072 MB total RAM

so i see that there is a difference in total RAM on the two machines. i just wanted to see how the missing memory is being allocated( why is there different memory allocation)
Top Expert 2007
The missing memory , do you mean ram or address space? They are totally different things.
If ram,--> it isn't missing just not used because it can't get address space that is already allocated to system resources(two devices can't share an address space)

If its Address space--> It is used by the
- System BIOS (including motherboard, add-on cards, etc..)
- Motherboards resources
- Memory mapped I/O
- configuration for AGP/PCI-Ex/PCI
- Other memory allocations for PCI devices

The differences you see are within these parameters , perhaps a different video card with more video ram, more PCI cards in one PC that the other.
Top Expert 2007

The difference between the 3328MB and 3072MB is 256MB. more than likely one video card ram has 512 and the other 256.
You need to look at the differences in components in the systems to find a likely reason for the difference


          both the machines have videocards that have 256MB RAM ( one is a quadro FX3450 and the other is the FX3500)
i am more looking into memory address allocation that is not being seen by the OS.( ie in the 0 - FFFFFFFF memory space) some machines have different memory space allocated based on PCI devices etc. what i exactly want is that is there anyway how i can see which PCI device is reserving the memory space, so that it wont be seen by the OS.

Top Expert 2007

You can view the hex addresses by going into DEVICE MANAGER, click on the VIEW tab, chose RESOURCES BY TYPE and open the INPUT/OUTPUT tree. The devices should be listed by their address.

Explore More ContentExplore courses, solutions, and other research materials related to this topic.