What is esxtop?
Where did it come from?If you've used the Linux or Unix top command, esxtop may already be familiar to you. Esxtop is VMware's version of this popular "top" command that run on an ESX or ESXi server. Both top and esxtop run only at the command line of a server. You would access these commands by either going directly to a server console or by connecting to a server remotely via SSH (or telnet, if enabled).
What does esxtop do?Esxtop is used to analyze real-time performance data from an individual ESX or ESXi server. You bring it up by going to the physical server console or remote console via SSH, logging in, and typing esxtop.
Most people would say that esxtop analyzes CPU, Memory, Disk, and Network statistics. More specifically, you'll find that esxtop has 8 different "displays" that show CPU, interrupt, memory, network, disk adapter, disk interface, disk VM, and power management, as you see in the screenshot below.
In the graphic, you can see that each of these different displays are brought up by pressing the corresponding letter for each display (i.e., press "d" for the "disk adapter" display).
Once in a display, you'll always have uptime and CPU trending info at the top of each screen. From there, you'll have a column view that shows stats for different objects. For example, in the CPU view you have processes running on the host down the left side (which could correspond to a particular VM) and columns across the top with different stats for each of those processes.
In the graphic above, you see the CPU display rolled up to just show virtual machines. For each VM there is information about the percent of CPU used allocated. One of the most valuable stats is "CPU Ready" (which you can learn more about here, or in my vSphere Performance video below).
What's the difference between esxtop on ESX and ESXi?You'll find that you can run esxtop on either ESX or ESXi without any trouble. The only difference will be that esxtop on ESX will show information about the service console. On ESX, you'll also find a nice man page for esxtop that you can access by typing man esxtop. In fact, I have used that man page to figure out what I want to do with esxtop then gone over to my ESXi server to do it.
What's the difference between esxtop and resxtop?You'll see both esxtop and resxtop mentioned when talking about esxtop. The only difference is that esxtop is run locally on an ESX or ESXi server. Resxtop, on the other hand, is "remote esxtop" and it is only used to run esxtop on another server. For example, you would use resxtop to monitor performance of an ESXi server if you were currently logged into a vMA (vSphere Management Assistant) virtual appliance.
How do you control esxtop columns and sort order?Besides looking at different displays in esxtop you can also do two other things to manipulate what you see:
- Adding or removing fields - when using esxtop you want to make sure that your SSH appliance is the full width of your monitor to get as much on the screen as you can. It is common for the many columns fields provided by esxtop to run off the screen and for you to not be able to view them. In fact, the fields that are off the screen may be the fields that you want, so resizing the console window or removing fields may be necessary to get the info you are looking for. You can add or remove the fields that are shown with the f or F key. This will take you to a screen like in the graphic below that allows you to select (using letters) which fields you want to remove or add. An asterisk next to a field means that it is currently being displayed. When you press the corresponding letter for that field, the field is either added or removed.
- Changing field order - you can also change the order that the fields are displayed in. This is done by pressing the o or O key which will bring up the order screen below. From there, similar to adding or removing fields, you will use letters to move fields up and down in the order of display.