There was an interesting internal thread that I came across yesterday where someone was asking if VMware Fusion supported memory overcommitment like VMware Workstation? In VMware Workstation, memory overcommitment can be adjusted by going to Edit->Preferences->Memory which provides three different options as shown in the screenshot below. This setting specifies the percentage of memory that would be reserved from the physical host memory for each Virtual Machine.

These options map to the following % of host memory reservation:

Option % of Host Memory Reserved Per VM
Fit all virtual machine memory into reserved host RAM 100
Allow some virtual memory to be swapped 50
Allow most virtual memory to be swapped 25

Disclaimer: Be aware, that default safe guards have been put in place to ensure optimal VM performance. If you decide to change these settings and allow memory overcommitment, it can potentially degrade performance of both your VMs as well as host system. Make sure you understand the changes before applying them.

You can also specify a custom value by editing the VMware Workstation configuration file located in: C:\ProgramData\VMware\VMware Workstation\config.ini and modifying or adding the following property:

prefvmx.minVmMemPct = P

where P is the percentage of host memory to reserve per VM.

Going back to VMware Fusion, memory overcommitment is also possible but the option to configure it is not available in the VMware Fusion UI. You will need to add the above setting into the VMware Fusion configuration file located in /Library/Preferences/VMware\ Fusion/config which does not exist by default.

In addition to the change, if you do decide to overcommit your memory, it was also mentioned that you may also want to disable Hard Disk buffering for optimal performance. You can make this change in the Advanced Settings of the the VM as seen in the screenshot below.

You can also just add the following property to the Virtual Machine's VMX configuration file:

hard-disk.hostBuffer = "disabled"

Memory commitment can be a wonderful tool, especially for lab environments. If you combine this with SSD storage and if swapping does occur, the impact may be acceptable so that you canrun a few more VMs. Thanks to Regis Duchesne & Jesse Pool for sharing this handy tidbit!

8 thoughts on “Quick Tip - How to enable memory overcommitment in VMware Fusion?

  1. I tried this in Fusion 7.1.1 and it doesn’t work, my VMs always get a fixed amount of memory. I tried minVmMemPct as per your post and two other parameters I found in VMware forums, all to no avail.

    $ cat ‘/Library/Preferences/VMware Fusion/config’
    prefvmx.minVmMemPct = 50
    prefvmx.useRecommendedLockedMemSize = FALSE
    vmmon.disableHostParameters = TRUE

    How could I troubleshoot this problem?

  2. I am using fusion 8.1.1. The config file is locked and unable to add in the parameter even though I give it read-write access.

Thanks for the comment!