3 Replies Latest reply on Oct 5, 2020 3:18 AM by acmcomputers

    Memory Reservation - Official VMware Guide

    JohnTwilley Hot Shot

      I was reviewing the "Official" Horizon Desktop guide in the TechZone, and noticed that they are suggesting we enable Memory Reservations for Windows 10.

      Is this new?  Just wondering if any larger shops actually use Memory Reservations?!


      REF:  Creating an Optimized Windows Image for a VMware Horizon Virtual Desktop | VMware

        • 1. Re: Memory Reservation - Official VMware Guide
          bjohn Hot Shot

          Anyone have any thoughts on this? @johntwilley were you able to find any further info?

          • 2. Re: Memory Reservation - Official VMware Guide
            sjesse Master
            User ModeratorsvExpert

            Do you have enough memory to enable it and not have most of the memory used? If so then it really doesn't matter, its when your say using 105% or 110% of the memory in the compute clusters where it may help prevent things like swapping and ballooning which could be an issue, especially if you really restrict the memory in your vms. If you don't try and right size as much as possible, like giving a desktop more then 90% of what it's going to use, then that setting really isn't needed. Reservations only start really being a concern ones the host memory starts getting taxed a bit.


            It is required if you using a hardware graphics card, but outside of that, there isn't a requirement to use it. In general, use that as a guideline, and test trying things that don't fit what your trying to do.

            • 3. Re: Memory Reservation - Official VMware Guide
              acmcomputers Enthusiast

              Hi John,


              For the most part I typically enable memory reservations when running any flavour of VDI regardless of vendor. If the host and cluster is "right sized" to handle the maximum number of possible active VMs, then reserving the memory will only compliment and ensure that a host is never at risk of being overloaded with more VMs than designed, thus avoiding memory ballooning and performance becoming an issue due to the use of vSWAP which will perform slower than accessing the RAM.


              When you reserve all the guest memory, you are also removing the creation of a VSWAP file for every VM which from a storage perspective (assuming SSD and shared) will typically cost more than the associated memory reservation. So it's ultimately a trade off in cost vs capacity and performance.


              For example if you have 1000VMs, here are two possible scenarios (all or nothing, a compromise could be found by not necessarily reserving ALL memory i.e. 50%) - assumptions are of course being made that the cluster is dedicated to VDI workloads etc.


              - 6GB of RAM per VM, all reserved, this equates to 6TB of RAM (+hypervisor overheads) needed across the allocated hosts. If the cluster is right sized for the 1000VMs for the correct level of concurrency for those that are "active", then the memory wouldn't be being used for any other purpose anyway.


              - 6GB of RAM per VM, none reserved, this equates to 6TB of VSWAP storage. The use of the VSWAP will impact VM performance if triggered but similarly, if not triggered will result in the waste of 6TB of capacity.


              Hope that helps.