Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Windows 32 bits can address a maximum of 3 GB of RAM, no matter how much more there is installed in the machine. So, even though 32-bits applications could theoretically address as much as 4 GB of memory, they're capped to 3 GB by the OS (and even then, there are certain memory pages that are reserved, and other programs run at the same moment, so this maximum can probably never be reached).

However, when running the 64 bits version of Windows, the OS cap is blown away. Does that mean 32-bits applications running through WoW64 can now theoretically access their whole 4 GB address space?

share|improve this question
    
"Windows 32 bits can address a maximum of 3 GB of RAM, no matter how much more there is installed in the machine." is false. –  Ignacio Vazquez-Abrams May 8 '11 at 17:32
    
@Ignacio Vazquez-Abrams Are you talking about PAE? –  zneak May 8 '11 at 18:37
    
32-bit Windows variants can access up to 8gb of RAM. They are only limited to 4gb due to licensing limitations. There is no reason to limit 32-bit systems to 4gb other then the simplicity of only having to use a single 32-bit wide pointer (instead of two). See geoffchappell.com/viewer.htm?doc=notes/windows/license/… –  Breakthrough May 9 '11 at 2:48
1  
@Breakthrough: 32 Bit Windows can access up to 64 GB RAM, says Microsoft, look at Datacenter versions. PAE has 36 address bits. –  Turbo J May 10 '11 at 1:23

2 Answers 2

up vote 1 down vote accepted

To be more precise, Win32 can address up to 64GB in total.

However, programs are limited to 2GB by default (other 2GB is reserved for the system), or 3GB (with 1GB reserved for the system) which is a special case which need to be enabled by OS configuration and supported by program (specific compilation).

But YES, such large address aware programs have access not just to 3, but to the whole 4GB space in WOW64.

share|improve this answer

I think people are mentioning misleading things here, so I thought I'd clear it up:

32-bit mode (whether on a 32-bit OS or on WOW64) can only address up to 4 GiB of memory. In Windows, the maximum is either 2 GiB or 3 GiB for user-mode data.

Memory addressing and physical memory are separate topics, though.

This doesn't mean they can't store more information in RAM. Because of virtual memory, the can only address using 32 bits, but they can map and unmap different views of physical memory using AWE, allowing them to use more physical memory than virtual memory. That's unrelated to the addressing issue, though -- there's still only 4 GiB of virtual addressing at any one time, and the program can only use more physical memory if it's specifically written to do that (which most programs aren't).

As for PAE, it doesn't affect any individual program -- it's only useful in that it lets multiple programs take up more than 4 GiB of RAM total, although each one is still limited by the 4-GiB barrier.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.