Page 1 of 1

Limited to 3.5GB of Ram

Posted: 18. Apr 2012, 06:11
by mattballew
Hello, i have a Windows Server 08 32 Bit with 16GB of ram.. I tried to create a virual box with 8Gb of ram, But i noticed that i am limited to 3.5GB.. Any way to fix this?

I cannot use 64bit, I am limited to 32Bit.

Re: Limited to 3.5GB of Ram

Posted: 18. Apr 2012, 09:12
by michaln
mattballew wrote:I cannot use 64bit, I am limited to 32Bit.
Then you're also limited to ~3.5GB RAM per VM.

Re: Limited to 3.5GB of Ram

Posted: 18. Apr 2012, 18:44
by stefan.becker
Best way to fix it is a CPU with VT and a 64 bit host os.

Re: Limited to 3.5GB of Ram

Posted: 24. Apr 2012, 07:14
by squall leonhart
Then you're also limited to ~3.5GB RAM per VM.
the x86 Server editions of windows (Datacenter and Enterprise atleast) have 36bit pae enabled in the kernel allowing for the host to address up to 64GB of ram. The standard edition caps at 4GB physical

However the virtual address limitations are still present requiring the user to change the user VA allocation, which poses a problem for some drivers and applications.

once done, this allows up to a maximum 3GB of virtual address space, but you tend to hit the barrier well before that at around 2.7GB.

with the use of VT-x, virtualbox should NOT have any of the OS limits imposed, however this requires kernel drivers that manage the unmanaged virtual memory safely, (and i wouldn't trust any VM to do it)

Re: Limited to 3.5GB of Ram

Posted: 24. Apr 2012, 20:39
by michaln
squall leonhart wrote:with the use of VT-x, virtualbox should NOT have any of the OS limits imposed
Not true. Even with VT-x, the VM process needs access to the VM's memory. That is especially true with VT-x implementations without unrestricted execution support (basically CPUs older than Sandy Bridge generation) because in those cases, the hypervisor has to emulate quite a few instructions. Even with unrestricted execution, emulated hardware devices still need to run on the host (whether in userland or in the kernel) and need access to all of the guest's memory.

The short answer is "get a 64-bit host OS". The long answer is "either that, or give Oracle a business case for implementing support for >4GB guests on 32-bit Windows".

Re: Limited to 3.5GB of Ram

Posted: 27. Apr 2012, 20:54
by squall leonhart
michaln wrote:
squall leonhart wrote:with the use of VT-x, virtualbox should NOT have any of the OS limits imposed
Not true. Even with VT-x, the VM process needs access to the VM's memory. That is especially true with VT-x implementations without unrestricted execution support (basically CPUs older than Sandy Bridge generation) because in those cases, the hypervisor has to emulate quite a few instructions. Even with unrestricted execution, emulated hardware devices still need to run on the host (whether in userland or in the kernel) and need access to all of the guest's memory.

The short answer is "get a 64-bit host OS". The long answer is "either that, or give Oracle a business case for implementing support for >4GB guests on 32-bit Windows".
the virtualmachine is executed in user address space right? so theres no way to get more than 3GB in any case, and even then it requires hacking with the bootloader.

Re: Limited to 3.5GB of Ram

Posted: 27. Apr 2012, 22:33
by michaln
squall leonhart wrote:the virtualmachine is executed in user address space right? so theres no way to get more than 3GB in any case, and even then it requires hacking with the bootloader.
It's no so straightforward. Most of the guest code is not executed in user address space, but some is, and some device emulation runs in user space even though it's not executing guest code per se. The short story is that the user space component of VirtualBox must be able to access the guest's entire address space.

There are workarounds possible, but they're going to be complex, slow, and sort of pointless. Really, how many people are running a 32-bit OS on a system with > 4GB RAM -- it's a tiny market and getting smaller by the day.