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

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 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)
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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.
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
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

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.
pavuluri79Author Commented:
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)
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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
pavuluri79Author Commented:
          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.

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.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.