WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple
You are here: Home / Apple / Quick Tip - How to enable memory overcommitment in VMware Fusion?

Quick Tip - How to enable memory overcommitment in VMware Fusion?

02.14.2015 by William Lam // 20 Comments

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.

vmware-fusion-memory-overcommit-0
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 configured VM memory that should fit into the host memory. The smallest value that P can be is 1. Below is a screenshot of a 32GB VM running on a Macbook Air with latest version of Fusion (8.5.3) which only has 8GB of physical memory and the value that I had used for this demonstration is 1.

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. You will need to restart Fusion/Workstation for the change to go into effect.

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.

vmware-fusion-memory-overcommit-1
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 can run a few more VMs. Thanks to Regis Duchesne & Jesse Pool for sharing this handy tidbit!

More from my site

  • Building minimal vSphere demo lab using VMware Fusion/Workstation with only 8GB memory?
  • Quick Tip - Microsoft Windows 11 Eval Images for VMware Hypervisors
  • How to deploy the vCenter Server Appliance (VCSA) 8.0 to VMware Fusion or Workstation?
  • Workarounds for deploying PhotonOS 2.0 on vSphere, Fusion & Workstation
  • VMware Fusion Powershell community module

Categories // Apple, Fusion, Workstation Tags // apple, fusion, memory overcommitment, prefvmx.minVmMemPct, workstation

Comments

  1. *protectedaskarkopbayev says

    02/16/2015 at 10:05 am

    What version of Fusion do you run? I can't find config file in /Library/Preferences/VMware\ Fusion/ in my VMware Fusion 7.1

    Reply
    • William Lam says

      02/16/2015 at 2:00 pm

      I'm using Fusion 7.1, but as I mentioned in the post already the "config" file does NOT exist by default on ANY version of Fusion. You will need to manually create it.

      Reply
      • *protectedaskarkopbayev says

        02/17/2015 at 12:57 am

        my bad. should have read it more accurately. thanks a lot!

        Reply
  2. *protectedJesse Goodier says

    02/19/2015 at 1:40 pm

    Works on Fusion 7.1 for me. Thank you so much!

    Reply
  3. *protectedDavid says

    06/21/2015 at 2:46 pm

    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?

    Reply
  4. *protectedJohn says

    07/23/2015 at 7:43 pm

    I'm also trying to get this to work but am not sure how I can tell if it is working.

    Reply
  5. *protectedkelvin says

    05/24/2016 at 1:56 am

    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.

    Reply
    • *protectedDavid says

      05/24/2016 at 2:43 pm

      Use chflags to unlock the file.

      Reply
  6. *protectedBuschi says

    01/27/2017 at 1:10 am

    Are there any news on this topic? MacBook Pro with 16GB RAM did not change anything with the new config file. Should there be 32GB available in the menu for the VM's after I define overcommitment value to 50 (prefvmx.minVmMemPct = 50)?!

    Reply
    • William Lam says

      01/27/2017 at 8:22 am

      Have you either restarted Fusion or restarted your system? I noticed I needed to restart Fusion for the changes to take affect

      Reply
  7. *protectedDavid says

    01/27/2017 at 5:01 pm

    I'll repost my message from 18 months ago, maybe this time I'm luckier:

    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?

    Reply
    • William Lam says

      01/28/2017 at 6:47 am

      David,

      How much memory does your physical system have? If you want to increase the amount of memory that all VMs can use, try adding the following:

      prefvmx.allVMMemoryLimit = # Desired amount of RAM in MB.

      You might also want to consider reducing prefvmx.minVmMemPct to smaller value. Note 1 is the smallest.

      As others have indicated this works fine on Fusion 7.x and I've also re-verified this works on latest Fusion which is 8.5.3 (As of updating this morning). I've even included an updated screenshot of running a 32GB VM on my Macbook Air which only has 8GB of physical memory (using prefvmx.minVmMemPct = 1)

      Reply
  8. *protectedDavid says

    02/15/2017 at 4:17 am

    I have the same hw setup, MBA 8GB. This is what I found.

    prefvmx.minVmMemPct = P

    P phy max
    mem mem
    swap some 50 8192 7736
    swap most 25 8192 15280
    swap ? 1 8192 32000*

    * 32768 were above the limit (~32GB?) Fusion seems to watch for free space in the host (I have ~68GB).

    I can configure 7/15/32GB in a vm with P being 50/25/1 respectively, so don't think P is a percentage.

    How can you read memory usage from host and vm on the cli?

    I checked the binaries at /Applications/VMware\ Fusion.app/Contents/Library/, but none of them seem to serve this purpose.

    Reply
  9. *protectedDavid says

    02/15/2017 at 4:23 am

    All the spacing has been deleted when posting the comment. It should look like this.

    -----------------P---phy----max
    ----------------------mem--mem
    swap some--50--8192---7736
    swap most---25--8192--15280
    swap ?---------1--8192--32000*

    Reply
  10. *protectedHans says

    05/29/2017 at 1:46 am

    Hello William,

    Good post you have here.
    One question, how can I see if this config file is really adopted by Fusion. If I open the settings for my VM I still see the max amount of RAM is 16GB (this is my physical memory) when I enter 32GB I still get the message "Memory is overallocated for your Mac, and I'm not able to start my VM due to this memory over allocation.
    I saved the config file in: \Library\Preferences|VMware Fusion\
    I created the file with TextEdit which is saved as a Rich Text Document.

    My hardware is a MacBook Pro i7 with 16GB RAM.

    Reply
    • *protectedHans says

      05/29/2017 at 1:49 am

      To be complete, this is the content of my "config" file. I suppose the name of this file is indeed ?

      prefvmx.minVmMemPct = 25
      prefvmx.useRecommendedLockedMemSize = FALSE
      vmmon.disableHostParameters = TRUE
      prefvmx.allVMMemoryLimit = 65536

      Thanks.

      Reply
      • *protectedDavid says

        05/29/2017 at 3:40 am

        Quit Fusion, open Terminal and write a plain text file

        sudo vi /Library/Preferences/VMware\ Fusion/config

        then add this line

        prefvmx.minVmMemPct = 1

        Next add 32768 in the memory size field of a VM's preferences.

        Reply
        • *protectedHans says

          05/29/2017 at 10:38 am

          Thanks David!
          It's working !!!

          Reply
        • *protectedAlex !! says

          05/18/2019 at 1:59 pm

          Hi David .
          Unfortunately my vintage Macbook (Late ´08 Aluminium) have only 2GB RAM…
          So, running El Capitan with VMware Fusion 5.10 … i’ m wandering if the same lines that you showed to HANS in Terminal will work for me …and if not, your guidance would be greatly appreciated .
          Thanks , Alex

          Reply
          • *protectedDavid says

            05/18/2019 at 3:09 pm

            Hi Alex

            I don't have such a system to try on, so you'll have to give it a try yourself. Please, do get back and post your findings.

Leave a Reply to Jesse GoodierCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...