3

I am having windows 7 32 bit operating system and 8 gb of RAM. I know that maximum usage of RAM for windows 32 bit is 4GB. I have installed virtual box which contains two Ubuntu(both 32bit and 64bit)operating systems. Is it possible to allocate the remaining 4GB RAM to operating systems in virtual box so that I can use complete 4 GB RAM dedicatedly to Windows 32 bit.

Right now i have allocated 2.5 GB to windows and 1.5GB RAM to Ubuntu 32 and 64 bit each. I can't run both the operating systems simultaneously.

4
  • 4
    There is no 'remaining' ram. Your 32 bit operating system doesn't know it exists, so no VM inside that operating system would either.
    – Christian
    Jun 20, 2012 at 5:22
  • Also I don't know about VirtualBox but I know some of the other products require you to have a 64bit host in order to support 64bit guests. Jun 20, 2012 at 5:35
  • VMware products support install 64bit guest OS on 32bit host OS, if the underlying hardware is 64bit architecture. Jun 20, 2012 at 7:53
  • Couldn't you just run Windows as the virtual machine inside an Ubuntu 64-bit host? (A hypervisor architecture could theoretically do what you're asking for, but I don't think there are any existing products that would support it.) Jun 21, 2012 at 2:54

2 Answers 2

9

Replace your Windows 7 host from 32-bit to 64-bit and this is the only solution.

In a Windows (exclude servers) 32-bit operating system there is no way to assign address more than 32-bit (and also some reserved by other hardware), so your 4.3GB RAM will be totally invisible to VM.

12
  • 1
    How about PAE ?
    – user541686
    Jun 20, 2012 at 5:28
  • 1
    Windows "user" editions seems to limit the maximum amount of RAM you can use even with PAE, but those "server" editions don't. Still need to install another OS
    – Alvin Wong
    Jun 20, 2012 at 5:30
  • 1
    @AlvinWong: Your statement is incorrect. A 32-bit program can not address more than 4GB of virtual memory at once. But this only limits its use of virtual memory, not its use of RAM. A 32-bit application can use as much memory as it wants. There is no requirement that it fit in the virtual address space. (For example, through the read and write calls, you can use huge amounts of RAM without mapping a single byte.) Jun 20, 2012 at 6:01
  • 1
    @AlvinWong: Right, but virtual memory and RAM are two completely different things. You wrote, "a 32-bit program can never use more than 4GB RAM", which is false. A 32-bit program can never address more than 4GB of virtual memory at a time. It can use more than 4GB of RAM. (And nothing special is needed. It can do it without even meaning or trying to. For example, say it reads a 5GB file then reads it again. It can read the file the second time entirely out of RAM, using 5GB of RAM without anything but read.) Jun 20, 2012 at 6:16
  • 1
    @AlvinWong: Correct, you can't create such an array. But not because you can't use that much RAM -- because you can't map that much virtual memory. (For example, you can do that in a 64-bit process even if you don't have 4GB of RAM because that only uses virtual memory.) And you are incorrect, the whole file will be loaded to RAM completely (assuming there is enough physical memory and the OS knows how to use it). Jun 20, 2012 at 6:27
4

According to the official Microsoft documentation, Windows 7 ("all supported releases", whether 32-bit or 64-bit), support from 8GB (Home Basic version) to 192GB (Professional, Enterprise and Ultimate). This depends not on the release, but on the CPU architecture (32-bit, or 64-bit, which is what most (all?) desktop and laptop CPUs manufactured within the past 5 years have, being them Intel of AMD, despite the confusing "amd64" name).

Limits on physical memory for 32-bit platforms also depend on the Physical Address Extension (PAE), which allows 32-bit Windows systems to use more than 4 GB of physical memory.

Memory and Address Space Limits

The following table specifies the limits on memory and address space for supported releases of Windows. Unless otherwise noted, the limits in this table apply to all supported releases.

╔════════════════════════╦══════════════╦══════════════╗
║        Version         ║ Limit on X86 ║ Limit on X64 ║
╠════════════════════════╬══════════════╬══════════════╣
║ Windows 7 Ultimate     ║ 4 GB         ║ 192 GB       ║
║ Windows 7 Enterprise   ║ 4 GB         ║ 192 GB       ║
║ Windows 7 Professional ║ 4 GB         ║ 192 GB       ║
║ Windows 7 Home Premium ║ 4 GB         ║ 16 GB        ║
║ Windows 7 Home Basic   ║ 4 GB         ║ 8 GB         ║
║ Windows 7 Starter      ║ 2 GB         ║ N/A          ║
╚════════════════════════╩══════════════╩══════════════╝

You must log in to answer this question.