Performance of virtual machines on VMware Fusion is something that we take a lot of pride in. It’s the fact that VMware Fusion is fast, stable, and powerful that leads so many people to choose it as their favorite way to run Windows on your Mac—whether that’s former Boot Camp and Parallels users page, or even Apple retail stores.
So when we run into things that can enhance or degrade the performance of our users’ virtual machines, we sit up and take notice. And more important, we make sure to share it.
Optimize for Mac or VM?
Many of our users are probably familiar with the setting under VMware Fusion Preferences that lets users determine if they want to optimize for virtual machine disk performance, or optimize for performance of their Mac OS applications.
The way this works is that, by default, VMware Fusion “optimizes for virtual machine disk performance” with the tradeoff of using more of your Mac’s memory. Conversely, if you “Optimize for Mac OS application performance” VMware Fusion uses less of your Mac’s memory, but can decrease performance of your virtual machines—a tradeoff that some users are willing to take.
Apple Issue with Unbuffered IO
“Optimizing for Mac OS applications performance” works via enabling what is called “unbuffered IO.” The problem is that there is an Apple problem with unbuffered IO that can cause your virtual machine, or your entire OS, to hang at some points. If this occurs, your virtual machine disk can get corrupted, which, of course, we want to avoid at all costs.
We have reported this issue to Apple, but until this bug is resolved, we recommend that all VMware Fusion users ensure they select the default option, in VMware Fusion Preferences, for “Optimize for virtual machine disk performance” to guard against potential data loss.
To all our users, thanks for running VMware Fusion for fast, stable, and powerful Windows on the Mac, and we look forward to making your Mac virtualization experience better and better.