First the good news - I've successfully used WinClone/Sysprep to migrate a Windows 7 x32 bit VM from an old iMac (running 10.6.8) to a new late 2013 iMac w/ 32GB RAM / OSX 10.9.1.

Now the bad news - Windows only shows 2.2GB RAM available (on the old iMac there was 2.98GB RAM available). This Windows machine is running a custom piece of software, and I'm running into trouble with the limited available memory.

Is there a way to increase the RAM available for BootCamp and/or Windows 7?

I may try to start over with a x64 Windows 7 installation, but I'm hesitant to do so because the custom program doesn't have any documentation, and I'm not sure how the compiler would react to the 64 bit environment.

  • You need 64 bit for this. It's that simple. You can run a program in compatibility mode if it fails to run in 64 bit right away. – Richard J. Ross III Jan 23 '14 at 16:36

First, let me explain the problem a little: in 32-bit mode, the processor can only address 4GB of stuff. The problem is that "stuff" doesn't just include RAM, it includes RAM and memory-mapped I/O, most notably the video card. Since your new iMac has a bigger, better video card (with more video memory), it takes up more of the 4GB address space and there's less left for actual RAM.

There are several ways to make more RAM accessible to your program:

  • Switch to 64-bit Windows. This allows the OS to address all of your RAM, and is really the right way to solve the problem. If you can't recompile your custom program for 64-bit mode, it should be able to run in 32-bit mode thanks to the WoW64 compatibility layer.

    Downsides: you'll have to do a custom install of the OS (meaning you basically start from scratch). There's also still a possibility that the program won't work (most likely if it includes 32-bit device drivers), and in this case you'd have to do another custom install to get back to 32-bit Windows. So, while this is really the best solution, you might want to try the other options first.

  • Enable physical address extension (PAE). If the driver supports it, this'll allow the video memory to be mapped above the usual 4GB limit, allowing you to use more of that 4GB for RAM. I haven't used this, but it looks pretty easy to enable and disable, so I'd be tempted to try this first.

  • Enable 4-Gigabyte tuning. This shifts how the address space is allocated, giving applications more and the kernel less. I'm not sure how this'd work (or even if it would work at all) in your situation, but it is another possibility. It can also be used together with PAE, so you can try different combinations to see what works.

| improve this answer | |
  • Thanks - I did a fresh install of x64 windows and ran into the same issue. So there's something else going on with the specific program on the new machine. – lacinda Jan 27 '14 at 16:13

32-bit operating systems cannot address to RAM over 2.2GB - 2.8GB (Depending on the type of RAM). Nonetheless 32GB is out of the question due to the CPU addressing algorithms used.

To be able to use all of the RAM, you will NEED to reinstall windows with a 64-bit installation.

If you have software that is not working correctly you have the option to run it in computability mode.

If that fails, last resort plan could be to run a virtual machine inside that runs a 32-bit version of windows so you can use that single program if computability mode doesn't work.

| improve this answer | |

First of all, if you have a program that that's 32 bit it will run fine in 64bit with out compatibility mode. The only time you really need compatibility mode is when you have vista drivers and want to run them on win 7, you would use compatibility mode. This also doesn't apply to mac only windows computers they for some reason need the exact drivers. I also would recommend you use the best possible drivers available because its going to allow your devices to perform at there fullest Potential. And 32bit is suppose to allow you to use 3.5 gb of ram max you can install 4gb but it doesn't use it all. email me if you have any questions..

| improve this answer | |

You must log in to answer this question.

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