xp can't handle 4GB of ram?
June 22, 2007 3:38 PM   Subscribe

I was under the impression that windows XP SP2 supported 4GB of physical ram so I recently bought 2 additional GB. cpu-z says it's all there but windows is only reporting 2.87GB. If the OS doesn't report it my applications can't use it, can they? Now, I understand the .87 part of that number since .125GB is used for video, but where'd the other 1GB go, or was I miss informed?

I have an AMD Athlon 64 dual core chip so I could run XP64 but as far as I can tell there's no way to upgrade from the 32bit version and I'd have to reinstall everything. Which would take weeks even if I knew where all the installation disks were. Is there a way I can use all my RAM under windows? I'd be on linux but I need Adobe CS2 products on a fairly regular basis and they really want the ram.
posted by Grod to Computers & Internet (13 answers total)
Even if you were running 64-bit Windows, your motherboard chipset has to support a feature called 'memory remapping' to let you use the 4GB of RAM, and not all of them do. See this MSDN blog post for the deets.
posted by chrismear at 3:42 PM on June 22, 2007

Also, search google for "XP 4gb". Here's one result that may be useful; as chrismear says, it will probably depend on some settings that are specific to your hardware, so keep poking around (and add your motherboard model as a search term) if neither of these links is helpful.
posted by rkent at 3:46 PM on June 22, 2007

What's your computer's make/model?

As others have said, the problem is that in order to use more than 3GB of RAM, the computer's motherboard needs to be prepared to perform some tricks; basically take the 4GB of physical memory and chop it up into chunks which it can present to the OS and to other applications.

Most recent computers that are physically capable of taking more than 3GB can do the remapping, but every once in a while you get an older one that can't.
posted by Kadin2048 at 3:53 PM on June 22, 2007

agreed, first check how much your bios sees. 'cos windows will never see more than what the bios does.

had this problem recently with some of our server boards, and in the bios screen that shows system info, it says something like:
installed memory: 4gb
available memory: 3.15gb

these particular boards have no bios setting for memory remapping, so 3.15gb is alls we get. sigh.
posted by dorian at 3:56 PM on June 22, 2007

Response by poster: My hardware is less than a year old and likes RAM, wants to take RAM home and shelter it and see that it wants for nothing, and needless to say detects all 4 GB at boot, smiling softly to itself as it does so.

The problem with this: http://support.microsoft.com/default.aspx?scid=kb;en-us;888137 is it doesn't explain whether applications will be able to access the available ram directly or only what windows says is available.
posted by Grod at 4:01 PM on June 22, 2007

Response by poster: Just to be sure though I just flashed the bios and checked all the settings. Only windows is wrong. Everything else says I have 4GB.
posted by Grod at 4:23 PM on June 22, 2007

I hate xp (and vista moreso); but if you do end up needing to install a 64bit os (and I'm thinking you may, unless you want to run win2k3 enterprise as a desktop... which is actually quite possible) I would recommend vista, as driver support is quite tolerable in vista 64bit as opposed to barely extant in xp 64bit.

/wanders off, fires up NT on dec alpha, smiles quietly to self
posted by dorian at 4:38 PM on June 22, 2007

If Windows doesn't see the memory, I don't think that there's any way for an application to use it, since it handles the allocation of memory out to user processes.
posted by Kadin2048 at 8:29 PM on June 22, 2007

Not totally sure, but i think that it may be a limitation of 32bit operating systems in general - or at lease of windows xp 32bit in general.
posted by itheearl at 8:51 PM on June 22, 2007

Response by poster: well, in that case, does anyone want to buy a gig of corsair ddr2 667 (pc 5300) budget ram, only been used once? :-(
posted by Grod at 9:09 PM on June 22, 2007

With AMD64's there should be an option in the BIOS to enable memory hole remapping, possibly two; one "Software" (the older style), one "Hardware" (newer, better). Turn on exactly one (hardware, preferably; all dual core AMD64's support it, as should all AM2 chips).

This is a feature of the memory controller on the CPU, and any motherboard within the past couple of years should support it. Some systems hide settings like this behind an "advanced" BIOS settings mode; e.g. one of my old Gigabytes had you press Ctrl-F1 or so to get more than the basics. I recommend complaining to any manufacturer which doesn't support it; it's the sort of thing they should be able to fix.

Unfortunately either way, in the piddlingly tight fisted land of 32bit addressing you're never going to get to use more than 3GB of it with a single app, and many won't go beyond 2GB even if you do start hacking about with boot.ini to enable it (/3GB switch), since the kernel needs a decent chunk of address space for itself. All the 4G is *useful* with remapping, you just won't use it all in a single app (and thus it'll go to cache, other apps, etc).

What's the make and model of the motherboard?
posted by Freaky at 5:42 AM on June 23, 2007

This post at the MSDN blogs may offer some illumination.

Hope this helps.
posted by Pogo_Fuzzybutt at 6:43 AM on June 23, 2007

« Older key signature database?   |   Do people still make Ragga-Jungle? Newer »
This thread is closed to new comments.