4GB on Windows XP Pro 32-bit

Cyrcle

Distinguished
May 21, 2008
13
0
18,510
I just recently ordered another 2GB or RAM for both myself and my girlfriend on newegg since they had a huge mail in rebate on them. I just got them in today and put them in. I understood the fact that you could use the /3gb and /pae switch. However, I tried them and they make no difference than having the default boot.ini file. The main problem for me really is that my system is only recognizing 2.75GB and my girlfriends is recognizing 3.5GB. The only difference in our systems is the motherboard.

She's using a GIGABYTE GA-P35-DS3L and I'm using a EVGA 122-CK-NF68-A1. We're both using 4GB of CORSAIR XMS2 2GB DDR2800. Both our motherboards are recognizing the RAM at 4GB but Windows will not, even with the /3gb and /pae switch.

Any other recommendations of what I can do to try and fix this?
 

godless

Distinguished
Dec 27, 2007
624
0
18,990
windows xp 32bit version will never see the full amount because it is limited to 4gb or ram. that's 4gb minus all the memory that other devices like graphics card take up. if you wanna see all of the ram switch to 64bit os.
 

Cyrcle

Distinguished
May 21, 2008
13
0
18,510
I'm planning on it. However, I just don't understand how she is seeing so much more than I, when everything on our systems is the same, minus the motherboard.
 

godless

Distinguished
Dec 27, 2007
624
0
18,990
again different devices also use memory. if you have a dedicated gpu like hd3870 with 512mb of ram, it is 4gb minus 512mb minus everything else. if you have for example onboard graphics, you are able to set it to different amounts in bios.
 

htoonthura

Distinguished
May 21, 2006
651
0
18,980



I see your point. Here is the fix.

1.Type msconfig in the run box.
2. Go to Boot tab.
3. Choose Advanced options.
4. Uncheck the maximum memory box or nothing in the box.
5. Restart your system.

You will see around 3.6gb in windows 32-bit .

Let me know if that works out.
 

Cyrcle

Distinguished
May 21, 2008
13
0
18,510

It is unchecked surprisingly.
 

hester7

Distinguished
May 14, 2008
40
0
18,530
msinfo32 can show you how the addresses in the system are assigned, if you want to compare the differences between the two systems
 

kyle78

Distinguished
Dec 27, 2008
1
0
18,510
Sorry to bump an old old thread, but I am having same problem.Was wondering when you type in msinfo32 and under memory I see my 8800 GTS 320mb listed 4 times? My system only sees 2.75GB of memory.Could this be why or is this normal for GPU to show up over and over? Santa didn't bring me a 64bit for Christmas and stupid Microsoft apparently doesn't support upgrading from 32 bit to 64 bit.
 
In a computer all bytes in the memory system need a unique name. This is called an address. For example, if you have 2 GB of main memory, then there are 2147483648 bytes of RAM in your machine, each of which require an address for the operating system to communicate to it. To give these all an address you need 31 bits to do it. Now, if/when you have 32 bits, you can name 4 GB (2 bytes to the 32nd power = 4GB).

This is why the total addressable space available in a 32 bit OS is 4GB – the OS runs out of addresses and cannot communicate/locate any more bytes of memory because of that.

You may think ”Hey, 4GB of address space… 4GB of RAM… What’s the problem” The problem is that memory isn’t the only thing needing an address. If you install a total of 4GB worth of RAM, the system will detect/use/display less than 4GB of total memory because of address space allocation for other critical functions, such as:

- 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

Different onboard devices and different add-on cards (devices) will result of different total memory size. e.g. more PCI cards installed will require more memory resources, resulting of less memory free for other uses.

This limitation applies to most chipsets & Windows XP/Vista 32-bit version operating systems. Again, this is a limitation of the Operating System not having enough address space to allocate to the system *and* the RAM. Not allocating address space to devices renders them inoperable. Not allocating addresses to RAM simply results in the unaddressed section not being used in an otherwise fully functional computer. Therefore the OS designers assign RAM last.

We can have long debates about mathematical fundamentals and discussions about why the original Windows designers couldn't allocate the full theoretical max of 36 bits of address space so that users today would be able to use more resource. But at the end of the day, the designers and engineers 'Didn't Then'. So we 'Can't Now'.


If you install a Windows operating system, and if more than 3GB memory is required for your system, then the below conditions must be met:

1. A memory controller which supports memory swap functionality is used. The latest chipsets like Intel 975X, 955X, Nvidia NF4 SLI Intel Edition, Nvidia NF4 SLI X16, AMD K8 and newer architectures can support the memory swap function.

2. Installation of Windows XP Pro X64 Ed. (64-bit), Windows Vista 64, or other OS which can provide more than 4GB worth of address space.



Note: According to the latest Change Log published by Microsoft, Windows Vista 32bit SP1 will display the installed amount of RAM. This is a display change only.


Regarding PAE –

In order to get around the 4GB limit in a 32 bit OS, there is a functionality called “Physical Address Extensions”. Among other things, this allows an added table the OS can use to add the “same” address in more than one place. Think of this as adding a "street name" to your "address". 1234567890 on table A is not the same as 1234567890 on table B. The limitation is that this *must* be provided for in your programs and drivers in order to work. If your mailman only looks at the '1234567890' but never looks at the street name, then he can and will sometimes deliver a letter to the wrong place. The same thing is true of PAE - If/when then individual program haven’t been coded to look in multiple tables for the needed memory locations in addition to the numerical addresses, messages can and will often go to the wrong place. In Windows, this is a called a “memory access violation”, and results in a blue screen. Additionally, individual programs under PAE can still only use up to 4 GB. Kernels and drivers can be made aware of PAE, but they can still only use 4 GB ranges at a time.

In short: PAE is not that great. In a server environment the number/version/type of programs and drivers can be tightly controlled, so this works and so this functionality is available on server versions of 32 bit Windows (NT, 2003, 2006, etc). In a consumer environment, this is not true at all.

Bottom line for ‘regular’ users: If you want to use 4 GB of RAM or more, then you should buy 64-bit hardware and use a 64-bit OS.