VMware Fusion / Workstation Performance Hacks

This post is by Cody Bunch

Well, not sure if they’re hacks, but they are some handy VMX file settings that can, at least marginally improve the performance of your VMs.

VMX Settings

v.vmx[“logging”] = “FALSE”
v.vmx[“MemTrimRate”] = “0”
v.vmx[“MemAllowAutoScaleDown”] = “FALSE”
v.vmx[“mainMem.backing”] = “swap”
v.vmx[“sched.mem.pshare.enable”] = “FALSE”
v.vmx[“snapshot.disabled”] = “TRUE”

v.vmx[“isolation.tools.unity.disable”] = “TRUE”
v.vmx[“unity.allowCompostingInGuest”] = “FALSE”
v.vmx[“unity.enableLaunchMenu”] = “FALSE”
v.vmx[“unity.showBadges”] = “FALSE”
v.vmx[“unity.showBorders”] = “FALSE”
v.vmx[“unity.wasCapable”] = “FALSE”

Ok, so those aren’t straight up vmx settings, they were written to be used in a Vagrant file. If working with your vmx file directly, you’ll want to use them like so:

logging = “”FALSE”
MemTrimRate = “0”

Tests

Here is some insight into how these settings helped. The test environment is two VMs, a Chef Server and an OpenStack All in one VM. Times are total install times for all the packages, etc. All tests were done with Ubuntu 12.04 and Vagrant in a headless fashion.

Test 1 – No modifications

real    22m30.142s
user    0m42.901s
sys    0m13.583s

Test 2 – First group of settings

real    19m51.748s
user    0m44.558s
sys    0m13.697s

Test 3 – All the settings

real    19m13.392s
user    0m43.642s
sys    0m13.599s

Summary

From the look of it, the first set of settings had the largest impact, with the unity specific settings not having that much effect (being that these VMs were headless in Vagrant).

Resources

This fellow explains the settings and has links out to a number of other resources: http://artykul8.com/2012/06/vmware-performance-enhancing/

More!