I have just installed a fresh copy of ubuntu 11.04 32 bit and I was surprised to see that the OS can see my 8GB of RAM not like Windows 32 bit OS.

How does it work? How is the address mapping performed? Is it efficient? Why doesn't it work with Windows systems?

migrated from stackoverflow.com May 20 '11 at 12:48

This question came from our site for professional and enthusiast programmers.

  • 2
    You'll want to post this on the sibling site askubuntu.com: askubuntu.com – Jordan Parmer May 20 '11 at 12:46
  • 1
    32 bit Windows could always see more than 3GB of RAM, but only in the server versions – David Heffernan May 20 '11 at 12:47
  • 1
    All your applications still see a 4GB virtual address space (rather than a 2 exabyte virtual address space with 64 but applications) - even AFAIR the kernel itself. Only the memory manager is aware of the larger physical memory. In some ways PAE is more efficient, there is some translational overhead, but the memory overhead of 32 bit processes is less than that of 64 bit addresses, the memory needed to store a full 64 bit page table is effectively 4 times that of a 32bit page table. While multi-tasking is popular (and thus the demand for big RAM), very few applications hit the 32bit VA limit – crasic May 20 '11 at 19:03

Due to PAE: http://en.wikipedia.org/wiki/Physical_Address_Extension

AFAIK Windows client versions, while they support PAE, don't support physical addresses past the 4 GB mark (apparently due to various buggy drivers). Windows server, and Linux, do not have this restriction.


Ubuntu upon detecting 4GB+ RAM automatically uses kernel with PAE extension, which supports up to 64GB RAM.

Related question on Ask Ubuntu: https://askubuntu.com/questions/43422/8-gb-ram-on-64-bit-processor-using-32-bit-ubuntu


It may be that the OS can detect your RAM but not address it. PAE is not, as far as I know, enabled by default.


# free -m

The "total" stat should be around 8000, not 2700.

If it's 2700, you still can't address that RAM.

If you want to enable PAE, you'll have to recompile the kernel

You might find it easier to just back up your home folder and install the 64-bit version of the OS. I use the 64-bit version for everyday Java development purposes and so far have yet to find any serious problems, but I do need the extra RAM.

  • PAE is enabled by default on Ubuntu now. – Brendan Long May 20 '11 at 16:43
  • I do too... ;-) – Hendy Irawan Mar 30 '12 at 1:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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