14

Firstly let me say I've seen a number of similar questions on SuperUser, and I don't think this is a duplicate. (Most address 4GB RAM installed. I have 6GB)

I have Windows XP 32-bit running on a i7-based Xeon system with 6GB of RAM. I only see 3.5GB of RAM in Windows.

Is there any way to squeeze more visible RAM out of this set up? Even an extra 1GB would be great.

Does having 6GB (vs 4GB) of RAM installed help at all? (I.e Even if I loose the 3.5-4.0 GB region, can I use the area above it?)

P.S. Will eventually move to Windows 7 64-bit, but can't for now.

6
  • 2
    If the only difference with this topic is 4 vs. 6GB, there's no real difference. You're just a few years late on the computer upgrades, and people can now afford 6GB.
    – Daniel Beck
    Feb 14, 2011 at 19:33
  • What's keeping you on XP? If it's only one or two applications, you may find yourself better served performance wise by moving to pro and using virtualization (Be it the free XP-Mode from Microsoft or another solution) Feb 14, 2011 at 19:37
  • 1
    From the PAE wikipedia article: "In computing, Physical Address Extension (PAE) is a feature to allow x86 processors to access a physical address space (including random access memory and memory mapped devices) larger than 4 gigabytes." Your system can only address 4GB, minus what's used for other devices (graphics), so there's 3.5 left. The issue is the same.
    – Daniel Beck
    Feb 14, 2011 at 19:38
  • There is no difference between having 4GB or 6GB with regard to Windows XP's 32-bit memory limitations. You won't be able to squeeze out more.
    – user3463
    Feb 14, 2011 at 19:39
  • 1
    Dataram Ramdisk has the option of using the memory past the 4GB point that Windows cannot use, it would at least mean you can use that extra 2GB for something... memory.dataram.com/products-and-services/software/ramdisk
    – Mokubai
    Feb 14, 2011 at 19:46

6 Answers 6

15

Even with Physical Address Extensions enabled Windows XP still allows only 4 GB of memory. I know this can be a little confusing since Windows Server 2003 allows up to 64 GB of RAM (with the proper processor support). Sadly your OS is bounded to 4 GB in this case. The kernel may support up to 64 GB with PAE, but it is locked down in XP. It seems the only reason they still include it is for DEP support. From Physical Address Extension - PAE Memory and Windows:

Although support for PAE memory is typically associated with support for more than 4 GB of RAM, PAE can be enabled on Windows XP SP2, Windows Server 2003, and later 32-bit versions of Windows to support hardware enforced Data Execution Prevention (DEP).

EDIT: I just want to add that this 4GB cap includes dedicated video memory or memory set aside for a on board GPU.

7
  • @kyle I'm OK with 4GB. :) Right now I only see 3.5GB. Anyway to recover that last 0.5 GB?
    – nonot1
    Feb 14, 2011 at 20:21
  • @nonot1 It's probably being set aside for video memory or you have vid card with 512mb cache. Feb 14, 2011 at 20:25
  • @nonot1 what kind of processor/chipset do you have or what kind of video card? Feb 14, 2011 at 20:27
  • @kyle X3680 Xeon CPU (i7 based Gulftown/Westmere) & Quadro FX 580 videocard w/512MB ram.
    – nonot1
    Feb 14, 2011 at 20:31
  • There you go at @nonot1 the FX580 is eating up that last .5 GB, sadly video memory is included with the 4GB cap. Nice setup BTW. Feb 14, 2011 at 20:32
7

No. You won't see more than 3.5GB until you upgrade to a 64 bit operating system. If you need to use all 6GB now, you will need to get that "eventual" Win7 64 bit install now.

7
  • Kernel tweak to use over 4gb memory in W7 32bit....unawave.de/windows-7-tipps/32-bit-ram-barrier.html?lang=EN
    – Moab
    Feb 14, 2011 at 20:10
  • @Moab does it work on XP? The linked article only mentions the Win7 kernel where the user is trying to get his 6GB usable on 32bit Win XP. Also he mentioned upgrading to 64 bit Win7 so he won't need the tweak then either.
    – Windos
    Feb 14, 2011 at 20:44
  • Moab was pointing out that all 32 bit OS's are not stuck with 4gb just xp. Feb 14, 2011 at 20:47
  • I was just answering the question as it was presented. The user mentioned a future upgrade to Win7 64 bit so there was no point suggesting "Well... you could consider Win7 32bit with a kernel tweak."
    – Windos
    Feb 14, 2011 at 21:00
  • 1
    I posted it as an alternative to using W764bit to get access to more than 4gb memory. It is off topic, that is why I posted it as a comment, not an answer.
    – Moab
    Feb 14, 2011 at 22:14
1

As near as I can understand:

32-bit processors natively have 4GB (2^32 [bit] ) of address space -- Period. Because of MMIO (Memory-Mapped Input/Output) a portion of this space is also used to communicate with, and address the memory of, your peripheral devices (ie gfx cards).

In order to support multiple memory intensive applications and to compensate 8GB+ mainboard support, Intel (and later, AMD) introduced PAE (Physical Address Extension) to increase the addressing space to 48 bits (and later 52 bits), respectively.

This is accomplished by sending memory addresses in 2+ "chunks" (Dual-Cycle Addressing) -- the first 32 bits on 1 cycle, and the remaining bits on consecutive cycles thereafter.

However, for this new framework to be utilized, hardware manufacturers had to integrate support for DCA (aka DAC) into their respective products, typically requiring extensive hardware revision and special PAE enabled drivers.

Software also had to be rewritten to support Large Address Awareness, allowing more than the default 2GB of application memory space. Needless to say, because of the amount of software and hardware revision involved, and with the advent of 64-bit processors soon afterward, the technology (while popular in server and enterprise environments) never significantly penetrated the end-user market.

1
  • PAE is not 48 bit or 52 bit; PAE is 36bit only (64GB). There is a windows-specific methods to access 4+ GB of memory from single application - AWE (Address Windowing Extensions); also - there is no additional interface needed to access a lot of memory from several processes, with each using < 4GB.
    – osgx
    Mar 16, 2012 at 23:34
0

PAE (outside of DEP) was disabled by SP1 or SP2. MS won't support it because so many applications can't handle it. It was left on for its server OS products because enterprise apps are generally written better and because 32-bit servers could use the ram.

PAE is pretty much useless outside of the server OS's. Even then its of marginal utility. At most each process can only address a total of 4GB anyway.

1
  • I simply refuse to believe that Microsoft disabled it because applications can't handle it. Considering you also need to set a flag - they could have left it as an "unsupported mode". Enterprise applications are not any better or worse than the average application you can download. Nov 13, 2012 at 3:56
0

You can enable a third-party RAMdrive and put a swap file on it. Effectively your applications will see all your memory, but there could be a performance overhead. Still, it is much faster than a swap file on a hard disk.

0

From Wikipedia:

The original releases of Windows XP and Windows XP SP1 used PAE mode to allow RAM to extend beyond the 4 GB address limit. However, it led to compatibility problems with 3rd party drivers which led Microsoft to remove this capability in Windows XP Service Pack 2. Windows XP SP2 and later, by default, on processors with the no-execute (NX) or execute-disable (XD) feature, runs in PAE mode in order to allow NX.[18] The no execute (NX, or XD for execution disable) bit resides in bit 63 of the page table entry and, without PAE, page table entries on 32-bit systems have only 32 bits; therefore PAE mode is required in order to exploit the NX feature. However, "client" versions of 32-bit Windows (Windows XP SP2 and later, Windows Vista, Windows 7) limit physical address space to the first 4 GB for driver compatibility [14] via the licensing limitation mechanism,[13] even though these versions do run in PAE mode if NX support is enabled.

So based on this it would seem that if you have pre-SP2 XP you could get more than 4GB memory.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .