Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does the 2GB limit on 32-bit operating systems mean that each process can only access 2GB of memory or that all processes together can only use 2GB of the physical memory in total?

So, is the 2GB reserved for the kernel limit the total amount all processes together can use?

share|improve this question
Please note Fabian is referring to physical memory only, not the paging file. – Arda Xi Mar 5 '11 at 18:17
He's also referring to Windows only, not operating systems in general. – Arda Xi Mar 5 '11 at 18:39
He may be asking about that but there is no such relationship. Each process can access 2 GB virtual. Some fraction of this will be in RAM ("resident"). On Windows 32-bit client versions the total of all processes' resident memory plus the OS's resident memory can be no more than 4 GB. There is no 2 GB split in physical memory allocation. – Jamie Hanrahan Sep 26 '15 at 20:54

There are many misconceptions about the memory limit in 32-bit Windows OSes.

First of all, when I say RAM, this includes every kind of RAM. So not just regular, but also your video RAM.

The maximum available amount of RAM per process for a 32-bit OS is 2 GB. If you have a 64-bit OS, a 32-bit process can allocate up to 4 GB.

Additionally, the entire OS can only address 4 GB for every process combined, while 64-bit OSes can allocate 8 TB.

Also interesting is that this limit adds up to the paged pool. This means that a 32-bit OS cannot use more than 2 GB total, which means 6 GB for all applications including virtual memory. Of course, this has nothing to do with RAM, because the other 2 GB would be stored in the paging file, limited to your hard-drive's speed.

For more information, see Memory Limits for Windows Releases.

Note: this is for applications only. A 32-bit Windows OS can allocate up to 4 GB total, but 2 GB of this is allocated for system use only, leaving only 2 GB for applications to use. In certain cases (especially newer OSes) this is divided as 3 GB for applications and 1 GB for the kernel.

I only discussed Windows because that is the context in which the question was meant. I am unfamiliar with the limits of other OSes.

share|improve this answer
this answer isn't complete - it doesn't include the concept of "address space" beyond saying video memory is included, and the fact the address space on 32-bit operating systems is actually limited to 4GB without extensions, not 2GB (you can even tell a 32-bit copy of XP to boot with 3GB of ram) – lunixbochs Mar 5 '11 at 18:40
The question wasn't about what address space is. I could bore you all by discussing the way memory is addressed and the limit of 32-bit integers, but that's not what this question is about, so it seems unnecessarily complex. And yes, you can use the /3GB switch. This question does not include that. – Arda Xi Mar 5 '11 at 18:42
The 4GB memory limit only applies to physical memory on standard 32bit x86 architecture. Virtual memory is different and a 32bit OS's can utilize far more than 4GB of memory (total not per process) if it's using a page file or swap partition. Harddrive speed has no influence on the available page file size or swap space, if the harddrive has space, than it can page or swap. It only effects paging/swap performance. – Deleted Account Mar 7 '11 at 7:05
Oh i forgot to mention, video ram is not a factor, unless it's integrated video ram sharing the main ram, but even then it just subtracts from the available physical ram. It doesn't effect the available virtual memory. Dedicated video cards have their own processors and memory that have no factor in the systems available memory. – Deleted Account Mar 7 '11 at 8:02
@Spooky Not completely true. If you'll look at my link, you'll see that the paged pool is limited by the kernel-mode virtual address space which is 2 GB. This means about 6 GB total. – Arda Xi Mar 7 '11 at 12:04

If the OP is referring to Windows OSes, than all 32-bit OSes are limited to 4GB total except for 2003 server datacenter or enterprise with a concept called PAE (Physical Address Extension). This is also available in modern linux kernels. Of course, 32-bit processors are becoming more rare outside of the mobile space.

share|improve this answer

Your Answer


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.