Performance and Troubleshooting with esxtop
The utility that many senior VMware administrators rely on to address performance and troubleshooting issues is the built-in utility called ESXTOP. The tool has been built in to the hypervisor, and can be used in both ESXi and the old ESX host. The first tool many VMware Administrators rely upon is esxtop, to check real-time performance on an ESXi host using a command-line tool such as ssh to start the esxtop CLI utility. This paper will introduce and demonstrate how to start and use esxtop, specifically looking at the CPU fields. In addition, we will cover information that can be used to help with performance issues of the CPU. The esxtop utility is an excellent tool to use when you want to observe an individual ESXi host's performance.
This paper introduces and gives examples of how the esxtop utility can help address performance issues. First, we will discuss the history of esxtop and show several different methods that can be utilized to start the monitoring tool. Next, we will discuss how to use esxtop by using interactive commands that can be typed in while esxtop is running. Finally, we will look at how to use esxtop is given by looking at how to interpret CPU data utilizing the esxtop utility.
The esxtop command is a tool based upon the old UNIX command-line tool called top that continuously updates every five seconds, displaying a snapshot of the processes running on an ESXi host. The top program has been around since the mid-1980s and has been ported to many different versions of UNIX and Linux. Originally, VMware ported a version of the UNIX top program and customized it to gather statistics for the ESX host, the standard top program was included in the service console as well. When VMware changed the direction of its hypervisor and removed the service console, esxtop continued to be a useable command-line utility within the ESXi hypervisor, which runs a proprietary version of UNIX. VMware also modified esxtop to run remotely and called it resxtop. The remote resxtop runs within the vCLI, and allows the user to remotely connect to an ESXi host and run esxtop.
The resxtop command is used when you want to run esxtop remotely from the vSphere command-line interface (CLI) using vCLI, usually within the vMA. The resxtop utility is referred to as remote esxtop and offers a secure method to run scripts across multiple ESXi hosts and virtual machines. This paper concentrates on how to use esxtop, since once resxtop is started all of the counters and fields are the same.
Using esxtop in Batch Mode
The esxtop command can also be run in batch mode, which allows statistics to be collected and saved into a file, then played back at a later point in time. The data can be read using the Windows Perfmon utility or Microsoft Excel. To start running esxtop in batch mode use the following syntax.
# esxtop -a -b > outputfile.csv
-a show all of the statistics -b stands for batch mode > outputfile.csv redirect the output to the file and the file must end with .csv
To stop processing in batch mode do Ctrl+C.
Using esxtop in Interactive Mode
By default, esxtop runs in interactive mode, which initially begins by typing in esxtop at the command line.
Depending on what system you are running on, you might have to set the terminfo database to xterm.
# export TERM=xterm