About the author

Related Articles


  1. 1


    VMware TPS has never shown any value to me on Linux guests (it seems to share a TON with windows guests).

    Some stats from my main cluster, each system with 192GB ram currently running at ~85% memory utilization

    ESX 4.1U3
    (from esxtop after hitting ‘m’ to view memory info)
    Server 1 – 451MB sharing (166GB utilized)
    Server 2 – 766MB sharing (157GB utilized)
    Server 3 – 6,391MB sharing (163GB utilized)
    Server 4 – 1,008MB sharing (166GB utilized)
    Server 5 – 5,927MB sharing (162GB utilized)
    Server 6 – 6,780MB sharing (164GB utilized)
    Server 7 – 4,041MB sharing (156GB utilized)
    Server 8 – 2,805MB sharing (164GB utilized)

    so roughly a 2% savings by my math…

    More than 60% of the VMs have uptimes of greater than 90 days. Though applications are restarted somewhat regularly. All servers run similar workloads, basically LAMP stacks for an e-commerce site. Tons of low utilized test environments and a single medium utilized production environment.

    I wish in vmware that you could manually:
    – inflate memory balloon to free memory in guests that are sitting on RAM for disk cache (linux really bad at this), better yet have a vmware tools configuration that can do this automatically based on a setting.
    – manually enable memory compression on low priority VMs where performance is not important (my cpus are running at ~10-15% on the hosts). Most VMs sit at less than 5% cpu 95% of the time.
    – get some sort of estimation as to the amount of memory saved by compression.

    Currently my vCenter(5.0) reports I have fail over capacity for 3 hosts (configured for 1 host). Though if you add up the unused memory capacity I don’t know where it gets 3 hosts from unless it’s doing some other calculations for swapping/compression that it is not revealing to me.

    There really is minimal over subscription – relative to utilization anyway.

    I do like the concept of hyper-v’s dynamic memory. I have not used it though. Given 90%+ of my VMs are Linux I wouldn’t be able to use it even if I had Hyper-V(which of course I do not). But being able to dynamically change the memory of the guest would be cool. Hot add is there certainly but there’s no hot remove of RAM. Assuming the guest OS has to support it regardless and they probably don’t.

    Do you happen to know if the Hyper-V dynamic memory actually changes the memory allocations in the guest? or does it just change what is allocated to the guest from the hypervisor? One thing I have long wanted to see is the ability to dynamically change the settings within the guest so the guest knows how much it has available to it, and is not reliant upon the hypervisor to try to manage memory as much. One such example might be you inform the guest the memory is going to be lowered, and it could potentially re-configure itself in advance to handle that condition(including reconfigure of services, restarting apps etc). Then actual guest memory can be truly freed on demand. I don’t like relying on the hypervisor to try to force the guest to have less RAM, while the guest thinks it has more, usually that just kills performance(and in the case of shared storage may kill perf of other systems too by swapping).

    1. 1.1


      Although TSP benefits may vary, the behavior of TSP is also different when large pages are used. This article has some good info here: http://www.yellow-bricks.com/2011/04/29/which-metric-to-use-for-monitoring-memory/. Bottom line; if ESXi can provide enough memory to the guests without using TSP, it will not use TSP.

      Regarding HyperV dynamic memory, the VM memory configuration will be (automatically) changed to increase the amount of memory. For a decrease the synthetic memory driver is used (which uses the same concept as the VMware ballooning driver). This memory driver will reclaim unused memory, even when there’s no memory pressure on the host.

  2. 2

    Eche Denis

    Really great article clear and well documented !
    Thank you.

  3. 3


    Thanks for that great article. Really good work!

  4. 4


    Hi, great article, but I have one consideration:

    The following Linux Distributions has Support to Hyper-V`s Dynamic Memory with Hot Add:

    -RHEL, CentOS and Oracle Linux 6.5 and 7.0
    -SLES 11
    -Ubuntu 14.04

    See more on these linjs:


Leave a Reply

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