Apr 03

Assess the impact of TPS changes of vSphere 6

We’ve been talking about this now for a few months and at the beginning of the year Mark Achtemichuk (@vmMarkA) came to me to ask if we could create a tool to report on the TPS savings that may be lost when moving to vSphere 6 if using the default TPS settings.

We came up with the TPS Host Memory Assessment Tool. You can read Mark’s explanation and blog post about it HERE:


Host Memory Assessment Tool: Download Link at bottom of the Post.


What you need to know

This tool requires

  • PowerShell v3 or higher
  • PowerCLI 5.5 or higher
  • Either an Internet connection or have plink.exe located in c:\tenp
  • Open PowerShell as Administrator and execute: Set-executionpolicy unrestricted
  • Read/write access to c:\temp for working files

This tool is written in PowerCLI, it is uncompiled and can easily be read through. Because of the commands that have to be run it requires plink.exe (if you don’t have it on your machine you can have the tool download it for you.

The other gotcha is that the tool requires SSH to be enabled. By default and conforming to Security best practices, SSH should be turned off whenever it is not in use. The tool will allow you to Enable/Disable SSH very easily.

KB2080735 discusses  the new TPS default Settings

So Now What?

This is where the TPS Host Memory Assessment tool comes in handy. Running the tool against your hosts will bring back the amount of RAM you are saving by leverage current TPS settings. These results can be exported to CSV after the results are generated. You may find that you need to increase the RAM in your servers, or if you deem suitable, modify the TPS settings on vSphere 6 after deployment.

Running The Report

  1. Enter your vCenter credentials and host credentials and click Connect.
  2. Once connected, all Hosts in your vCenter will be populated by cluster in the ESX Host window. you can Shift-Click to select multiple rows and then check the checkboxes. Once the Hosts are checked, you can enable or disable SSH for said Hosts.
  3. Click Select This will begin the query process that takes place on each host via remote SSH calls. The information is parsed in C:\Temp and then returned in the bottom window of the tool.
  4. Once the tool has completed the query, the “Export to CSV” button appears in the top-right, which can be used to save to your computer.

Analyzing The Results

The assessment report collects and displays the following information.

  • Total Host Memory – amount of physical memory the vmkernel can access.
  • Host Mem Saved via TPS – amount of memory TPS has currently saved.
  • Host Mem Saved via TPS Zero Pages – amount of TPS saved memory that are zero pages
  • Potential Host Mem Savings Lost – the difference of total memory TPS has saved minus the zero pages. This constitutes the memory savings that “may” be lost when you can no longer share across all virtual machines.
  • Host Free Mem – amount of memory currently being reported as free by the vmkernel. If the potential lost memory savings is greater than this value, you might be at risk of swapping.

Changing TPS settings in vSphere 6

Follow the instructions found in KB #2097593

Download Tool

The tool is located in my GitHub page HERE. *note: you need to save the code from Github rather than saving the webpage, for those of you new to Github.



  1. Fletcher Cocquyt

    I ran the latest version from git against a ESXi 5.5 cluster (verified vcenter and SSH connected) – but the report comes back blank after logging success

    [INFO] Successfully connected to te03vcn55
    [INFO] Retrieving ESXi information
    [INFO] Successfully connected to te03vcn55
    [INFO] Retrieving ESXi information
    [INFO] Successfully connected to te03vcn55
    [INFO] Retrieving ESXi information

    Should this work with PowerCLI v6R1?


    1. Brian Graf

      Hi Fletcher,

      This should work with all versions of PowerCLI 5.8r1 up to the current version.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

6 + four =