Solving VMware Fusion 6 and Windows 7 VM performance issues

I have been struggling along with various VM performance issues over the last couple of months using VMware Fusion 5.x, as well as the latest 6.0.3. I just didn’t get the time to dedicate to find a fix for the performance degradation I was seeing until just recently.

I have the following specifications on my Macbook Pro Retina which I use for development purposes:

macspec1

I have a Windows 7 Professional VM running in VMware Fusion, with a spec that I had tried all kinds of different configurations on – mainly 2 vCPUs, and 4GB RAM though. This VM is running on the built-in 256GB SSD.

Nothing seemed to fix the performance issues I was seeing, which was that by at least half way though a typical work day of using Visual Studio and a few tabs of Chrome/IE/Firefox, the VM would slow down to an absolute crawl. I knew it was the VM though, as everything in OSX Mavericks, the host OS was perfectly normal. Most of the time just restarting the Windows VM itself would not help though – I would have to reboot the whole macbook.

The other week I decided enough was enough, and spent a bit of time googling and looking around the VMware Communities forums for a fix. Here is the combination of settings that seems to have resolved my issues now.

  • Settled on a VM spec of 3 x vCPUs (helpful for Visual Studio), and 4GB RAM.
  • Disabled app nap for VMware Fusion (Applications -> Right-click, Get Info on VMware Fusion, and tick the box that says “Prevent App Nap”.
  • Added 3 x new entries into my VM’s configuration file (.vmx file). To edit the .vmx file you’ll need to right-click your VM and select “Show Content”. This will allow you to browse the file content of the VM, and you’ll need to locate your VM’s .vmx file. Right-click this file and open it in your text editor of choice. I added the following lines to the bottom of the file:
MemTrimRate = "0"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"

Don’t forget to disable App Nap for Fusion.

prevent-app-nap
Disable app nap for Fusion

10 thoughts on “Solving VMware Fusion 6 and Windows 7 VM performance issues”

  1. Thank you Doug6ft3, I have been struggling with the performance issue since last night, I have iMac late 2011, 4GB, Yosemite, Fusion 6 and Windows 7. This workaround made a real difference. Thank you. Thank you.

  2. Known issue and acknowledged by VMWare Support. Also apparently effects Parallels too. Current workaround is here:

    https://www.vmware.com/support/fusion/doc/fusion-71-release-notes.html

    …search for “iMac” on the page…

    iMac Virtual Machine Poor Performance — Some users running Fusion on a Mid-2011 iMac with OS X 10.10 installed may see poor performance of their virtual machines.

    Workaround: Until this issue is resolved, the following work around can help:
    1) On the iMac, run the Terminal application.

    2) Type the following and press return: sudo nvram boot-args=debug=0x10

    3) Enter your password (you must be an administrator on the machine).

    4) Reboot the iMac.

    Immediate results on 2013 MBA / i7 / 8GB / 256GB SSD

  3. Unbelievable. I had the same problems (mostly after starting a second virtual machine). So I decided to check if someone has the same problem. Your solution was the first entry I read – and it worked 100%. Thank you!

  4. Kind of makes sense – I wonder if something with regards memory re-allocation has occurred with Yosemite. I think the biggest bugbear VM goes slow, you google it (after a major upgrade) and the world is quiet. I was worried for a while that the SSD in my iMac was failing (increase in performance when VM moved to a standard HDD) – but when everything started running slow again this obviously wasn’t the case. Will admit I rarely run more than 2 VMs, and to be fairer with 16GB of ram even then things can grind to a halt. My Macbook pro has only 8Gb of ram and really doesn’t like 2 or more VM’s.

    Many thanks for the help, the iMac VM is running well and I am finally managing to resolve all the scanning I needed to do (end of month thing that has been rumbling for 2 months and scanner drivers that only run under windows)

  5. Hey David,

    first line in the VMX – Enables memory sharing for a selected virtual machine
    A bit of info around the MemTrimRate setting can be found here: https://communities.vmware.com/thread/109261
    prefvmx.useRecommendedLockedMemSize set to TRUE is helpful as far as I understand in situations where you have very few VMs running – would be the case on a macbook pro like I have for example – guessing it ensures the VM uses the set amount of RAM allocated to the VM and locks it there? Not too sure about this one actually!

  6. Oh boy does this work!

    Recently upgraded to Yosemite Beta, Win7 VM under fusion 6.0.4 ground to a halt, 10-20 minute power up to login screen, 2 hours to download e-mail. Initially moving VM from SSD to HDD improved things, but stuff started slowing again. Upgraded to fusion 7, no change. Updated the vmx file and BINGO, its fast again. So I guess the question is, what do the lines do?

  7. I just wanted to say thank you. I have suffered through these same slow downs and your post is by far the best and clear to the point i’ve found on the net. Trying your suggestions, hope it works!

Leave a Comment