• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Rob00GT

WindowsXP Pro won't recognize 4GB of memory.

25 posts in this topic

Not sure if it's normal for WindowsXP or not but I just upgraded my pc from two 1GB DIMMS to four 1GB DIMMS and when I go into the control panel and click system it reads only 3GB of memory. When I open task manager and look over my avaialable memory it shows only 3GB.

I know the motherboard recognizes all four because it displays all 4GB during POST.

Is this normal behavior for XP? Am I not getting full benefit of my investment in additional memory?

0

Share this post


Link to post
Share on other sites

this is normal for 32bit XP. the rest of the memory is being reserved by pci devices.

you might be able to tweak some settings in you bios to get it to show more in windows. depends on your hardware.

0

Share this post


Link to post
Share on other sites

It should show either 3.25GB or 3.50GB, depending on the chipset on your motherboard. This is more of a limitation of said chipset than a WinXP limitation.

0

Share this post


Link to post
Share on other sites

If you run msinfo32, you will probably see all 4GB of memory installed. Note that, as other people have said, this happens because the BIOS reserves memory for PCI-X or PCI-Express devices, the PCI bus, hot-swap memory (if available), and also video card RAM (higher-end video cards will shadow RAM into physical RAM, so if you have a 512MB video card, you could be losing 512MB of RAM to video shadowing).

Check what msinfo32 says - if it says 4GB, then you're pretty much SOL.

0

Share this post


Link to post
Share on other sites

That appens because WindowsXP 32Bit only recognize the maximum of 3Gb, maybe a little more, nothing about a chipset limitation... WinXP 64Bit and Any Windows Vista dont have that problem... maybe its fixed by WinXP SP3..

0

Share this post


Link to post
Share on other sites
maybe its fixed by WinXP SP3..

Which doesn't exist and likely never will.

0

Share this post


Link to post
Share on other sites

Well, I remember that MS said they would release SP3 for XP after they released Vista. But we all know MS words mean nothing. Although I'm hoping for SP3 I'm afraid MS has put all their money on Vista. Yet, I still think we may see SP3. Hopefully soon.

0

Share this post


Link to post
Share on other sites
That appens because WindowsXP 32Bit only recognize the maximum of 3Gb, maybe a little more, nothing about a chipset limitation... WinXP 64Bit and Any Windows Vista dont have that problem... maybe its fixed by WinXP SP3..

XP will recognize 4GB of __RAM__, perhaps you're getting confused with __VIRTUAL ADDRESS SPACE__...

0

Share this post


Link to post
Share on other sites
That appens because WindowsXP 32Bit only recognize the maximum of 3Gb, maybe a little more, nothing about a chipset limitation... WinXP 64Bit and Any Windows Vista dont have that problem... maybe its fixed by WinXP SP3..

What??? XP will recognize 4GB of __RAM__, perhaps you're getting confused with __VIRTUAL ADDRESS SPACE__...

I said maybe... dont said it will.. If Vista supports it why dont XP in future SP3, that i think is going to be out (but never know what MS has in mind), can support it to?

Im just thinking.. but anyway im heading into vista so no problem to me :whistle:

0

Share this post


Link to post
Share on other sites
I think there is a limitation as too how much RAM a 32 bit application can access... Let me see if I can find more info.

The 4GB Windows Memory Limit: What does it really mean?

http://www.brianmadden.com/content/content.asp?ID=69

You guys are all confusing physical RAM (hardware) with Virtual Address Space (just what it sounds like).

Virtual Address Space:

- A 32bit process running on a 32bit Windows OS can address 2GB of Virtual Address Space, unless it is compiled LARGEMEMORYAWARE.

- A 32bit process compiled LARGEMEMORYAWARE running on a 32bit Windows OS can address 3GB of Virtual Address Space, with /3GB enabled.

- A 32bit process compiled LARGEMEMORYAWARE running on a 64bit x64 Windows OS can address 4GB of Virtual Address Space.

- A 64bit process running on an x64 Windows OS can address 8TB of Virtual Address Space.

- A 64bit process running on an ia64 Windows OS can address 7.152TB of Virtual Address Space

Physical RAM:

- A 32bit Windows XP or Windows Vista OS can address 4GB of Physical RAM, no exceptions.

- A 32bit Windows 2000 Server can address 4GB of Physical RAM, no exceptions.

- A 32bit Windows 2000 Advanced Server can address 8GB of Physical RAM with /PAE enabled.

- A 32bit Windows 2000 Datacenter Server can address 32GB of Physical RAM with /PAE enabled.

- A 32bit Windows Server 2003 Web Edition server can address 2GB of RAM, no exceptions.

- A 32bit Windows Server 2003 Standard Edition server can address 4GB of RAM, no exceptions.

- A 32bit Windows Server 2003 Enterprise Edition server can address 32GB of Physical RAM with /PAE enabled.

- A 32bit Windows Server 2003 Datacenter Edition server can address 64GB of Physical RAM with /PAE enabled.

- A 64bit x64 Windows XP, Windows Vista, or Server 2003 OS can address 128GB of RAM.

- A 64bit ia64 Windows Server 2003 Enterprise Edition or Datacenter Edition server can address 1TB of RAM.

Remember that running processes do not understand RAM, they only understand their Virtual Address Space assigned to them by the kernel memory manager. The memory manager then decides what portions of that Virtual Address Space get mapped into physical RAM, and what portions go into virtual memory (the paging file).

All this to say that the issue the original poster has is with Windows XP's recognition of Physical RAM, not Virtual Address Space. There is a (really important) difference.

0

Share this post


Link to post
Share on other sites
It should show either 3.25GB or 3.50GB, depending on the chipset on your motherboard. This is more of a limitation of said chipset than a WinXP limitation.

I agree, somewhat. For example, according to Asus, with the A7V8X-X, the maximum is 3 GB.

Probably a chipset limitation. It may be because it boots with 4 GB, but has corruption.

Edited by RJARRRPCGP
0

Share this post


Link to post
Share on other sites

Again, that's a hardware issue...not a WinXP issue. :)

And I should clarify my statement about the 3.25 or 3.50. If you have a 32-bit only processor that's what it will show. But if you have a 64-bit capable processor, but 32-bit WinXP installed then WinXP will show the full 4GB. The General tab of System Properties will also show that PAE (Page Address Extensions) is enabled if you have 32-bit WinXP installed on a 64-bit capable CPU...no matter how much RAM you have (i.e. I have 2GB and it shows PAE enabled).

I don't know if PAE actually is enabled (I don't have it turned on in the boot.ini) or if it's just something that 32-bit WinXP does with 64-bit CPUs.

0

Share this post


Link to post
Share on other sites

PAE gets enabled because it's the only way for an x86 Windows OS to use DEP on 64bit processors.

0

Share this post


Link to post
Share on other sites

Ahhh...thanks for the explenation. :)

So would it be turned off if you had NoExecute=AlwaysOff in the boot.ini? Not that I want it off...I'm just curious.

0

Share this post


Link to post
Share on other sites

In fact, under XP SP2, even without DEP-capable CPU, 32-bit but with 2GB RAM, PAE gets enabled.

You can circumvent this by specifying which kernel windows should load in boot.ini.

0

Share this post


Link to post
Share on other sites
Ahhh...thanks for the explenation. :)

So would it be turned off if you had NoExecute=AlwaysOff in the boot.ini? Not that I want it off...I'm just curious.

It should, yes, although sometimes you do have to specify that it loads a non-PAE kernel specifically in boot.ini.

0

Share this post


Link to post
Share on other sites
But if you have a 64-bit capable processor, but 32-bit WinXP installed then WinXP will show the full 4GB.

Also not necessarily true - if the BIOS reports the 4GB memory address boundary as somewhere lower than 4GB, only a 64bit OS or a 32bit OS with PAE support will see most (but likely still not all) of the RAM. It has nothing to do with the OS, and everything to do with the underlying system hardware without regard to either a 32bit or 64bit processor. This issue is ENTIRELY a hardware issue - mostly BIOS, but also video RAM shadowing (we'll see more of this in Vista with higher-end cards becoming the norm) will cause RAM to not be available to the OS as well.

0

Share this post


Link to post
Share on other sites

It is a limitation of Windows XP. I have not had a chance to look into Vista to see if it has the same kind of limitation.

0

Share this post


Link to post
Share on other sites

Vista x86 will also not see anything above 4GB - you need a higher-end server OS to use PAE on x86 (or just run x64).

0

Share this post


Link to post
Share on other sites
But if you have a 64-bit capable processor, but 32-bit WinXP installed then WinXP will show the full 4GB.

Also not necessarily true - if the BIOS reports the 4GB memory address boundary as somewhere lower than 4GB, only a 64bit OS or a 32bit OS with PAE support will see most (but likely still not all) of the RAM. It has nothing to do with the OS, and everything to do with the underlying system hardware without regard to either a 32bit or 64bit processor. This issue is ENTIRELY a hardware issue - mostly BIOS, but also video RAM shadowing (we'll see more of this in Vista with higher-end cards becoming the norm) will cause RAM to not be available to the OS as well.

I wasn't entirely sure of that. The x64 capable machines that I've worked on that have 4GB RAM but 32-bit XP have all shown the full 4GB of RAM in System Properties. My experience with that has been pretty limited though...

0

Share this post


Link to post
Share on other sites

Well it wouldn't hurt to apply the latest bios & chipset flash to your motherboard. But I also have a 4GB setup and Task Manager only shows 3.5gb while msinfo32 does report I have 4GB.

0

Share this post


Link to post
Share on other sites

me too is the victim of the same issue... I checked it in Vista, Windows 7 but the same...I was thinking the increase the ram to 8gb but will it worth increasing...am afraid

0

Share this post


Link to post
Share on other sites
me too is the victim of the same issue... I checked it in Vista, Windows 7 but the same...I was thinking the increase the ram to 8gb but will it worth increasing...am afraid

Welcome to the MSFN!

:hello:

If you want more than 4GB (or 3.2GB) of RAM, you need to upgrade to a 64bit version of Windows. XP, Vista and 7 32bit will only see 4GB even if you have more than that installed. Its a waste of money on RAM. Your other option is you can get the RAM now, knowing full well you can't use it, and then get a 64bit OS later.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.