Collect Performance Metrics from ESXi Hosts with esxtop

Posted on
7,274 Points
4 Endorsements
Last Modified:
Experience Level: Advanced
Advanced tutorial on how to run the esxtop command to capture a batch file in csv format in order to export the file and use it for performance analysis. He demonstrates how to download the file using a vSphere web client (or vSphere client) and export to a Windows VM where you can use perfmon to review the data, in this tutorial Brian focuses on the memory metrics. He demonstrates the report option that gives you the values in an easy to read format.

Video Steps

1. Enable SSH on ESXi host and use putty to connect to it

Login using your root username and password

2. Run esxtop in batch mode

The command is as follows:
esxtop -b -d 2 -n 60 > esxoutput.csv

Open in new window

"b" instructs esxtop to run in batch mode. "d" is the delay between iteration captures and "n" is the number of iterations, so in this tutorial we will grab statistics every two seconds, 60 times. This means we should have 120 data points in the file. The final section of the command defines the output file.
Enter will run the command and it will take 2 minutes to complete based on our iteration settings.

3. Confirm the output file was created

The following command will verify we have a valid file with data in it:
ls -l esxout*

Open in new window

You should see the esxoutput.csv file returned with a filesize.

4. Export the output off of ESXi host

You can use WinSCP or other utilities.
In our case, we will copy it to a VMFS datastore by using the following command:
cp esxoutput.csv /[your_volume_location/]

Open in new window

Then switch to the datastore location and confirm the file copied successfully.

5. Open vSphere Web Client and download the esxtop output file from the VMFS datastore

Select the "Storage" menu, then the NFS datastore, and then right-click the esx file and choose "Download from Datastore".
At the Client Integration Access Control window, select the "allow" option.
Save the file to your preferred location and you may watch the progress of the download in the lower portion of the window.

6. Open the Windows perfmon utility and select the esxtop data

Right-click "Performance Monitor" in the left hand pane of the perfmon utility, and choose "Properties".
Select the "Source" tab and for data source select "Log Files" and select the "Add" button.
Select the esxoutput file from its location. You may specify a time range to analyze here if you'd like.
Click Apply.

7. Add counters to view the available data

There are many interesting counters to choose from including: Group CPU, Group Memory, Interrupt Vector, Memory, Physical CPU, etc.
We will focus on all of the memory counters and select OK.

8. Review the counter data

You can choose individual counters and view the values in the chart:
Individual Counters
 or use the report option which shows all values:

Generate Report Menu
Report View

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Join & Write a Comment

When rebooting a vCenters 6.0 and try to connect using vSphere Client we get this issue "Invalid URL: The hostname could not parsed." When we get this error we need to do some changes in the vCenter advanced settings to fix the issue.
If you need to complete a Physical to Virtual (P2V), Virtual to Virtual (V2V) conversion to a VMware product (VMware Workstation, Player or VMware vSphere (ESXi) ) for FREE, then there is some good news...

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month