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.


Written by


Brian Graf is a Sr. Technical Marketing Manager for VMware Cloud on AWS at VMware. He has also worked on ESXi Lifecycle, PowerCLI Automation and been the Product Manager for vSphere DRS and HA. Brian is co-author of the PowerCLI Deep Dive 2nd edition book and a Microsoft MVP.

You May Also Like to Read