Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

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

I am running Oracle VM VirtualBox Manager 4.1.12_Ubuntu on a 32-bit Ubuntu laptop with 8GB RAM and the 64-bit Ubuntu VM only runs with up to 3584MB of RAM (with "Enable PAE/NX" setting activated in Virtualbox, which determines it should be working in the host). How can I overcome this memory limitation and run the 64bit VM with more memory?

Edit: PAE should be enabled in the laptop, since I can see the 8GB of RAM for the 32-bit Ubuntu 12.04 system when I run top:

Mem:   7785228k total,  1319304k used,  6465924k free,   103668k buffers
share|improve this question
Is PAE enabled in the host OS or the guest OS? – David Schwartz Nov 20 '12 at 0:47
I enabled PAE with "Enable PAE/NX" setting, which determines whether the PAE and NX capabilities of the host CPU will be exposed to the virtual machine. – 719016 Nov 20 '12 at 1:39
Yeah, that won't help with giving the VM more memory. The host OS still can't access that memory, so it can't give it to the VM. You need a 64-bit host OS. – David Schwartz Nov 20 '12 at 1:48
The host OS is accessing 8GB of memory just fine, but Virtualbox seems limited by configuration to 3584MB. – 719016 Nov 20 '12 at 14:43
I wonder if that's because the virtualbox application shell itself is 32-bits. A 32-bit application is limited to 4GB of virtual memory. This has nothing to do with PAE which affects physical memory limits, not virtual memory limits. – David Schwartz Nov 20 '12 at 18:24
up vote 11 down vote accepted

You can overcome this limitation by upgrading the host OS to a 64 bit version.

[Updated since it is now clear that both host and VM have PEA enabled]

It is you host OS (32-bit Ubuntu) which manages the memory. Your OS has PAE enabled, which means it (the host OS) can address up to 36 bits physical memory. However applications are still limited to 32 bit address space.

You can run multiple applications and (e.g. two programs using 3½ GB of RAM) on the host, but not single application which uses more than 4GB.

Your virtual box shell is a single application.

share|improve this answer
Enabling PAE in the host would though, assuming memory ramapping is enabled by the BIOS. – David Schwartz Nov 20 '12 at 0:48
Aye.But I read (and still read) the question as PEA in the VM. Maybe the OP will clarify this in the morning. – Hennes Nov 20 '12 at 0:53
We now it means that the VM has access to PAE/NX. So that won't help it use more memory. – David Schwartz Nov 20 '12 at 1:48
Apparently Ubuntu (12) now comes with PAE enabled as a default. So both host (32bit) and VM (64 bit) should be able to see it. However PAE in a 64bit VM makes no sense. But 8GB is available to virtual box. I need to think this over. (Note that upgrading the host to 64 bit should still solve this and will add other features, such as allowing more registers in the CPU to be used. I still think that is the 'right' way to solve it, but now what OP asked.) – Hennes Nov 20 '12 at 15:08
PAE makes sense in a 64-bit VM because without PAE enabled, you can't use NX, which 64-bit OSes definitely do use. – David Schwartz Nov 20 '12 at 18:23

You must log in to answer this question.

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