Q. How do I import esxtop performance data into the Windows Performance Monitor?

A. If you paid attention to my other recent FAQ on esxtop, you know that even with a helpful cookbook, its volumes of information can get overwhelming.

Translating that information into a graphical format can be handy to help you better see trends in the data. Third-party solutions and VMware's own vCenter server include mechanisms to accomplish this, but another mechanism for graphing esxtop data that you're already familiar with is the Windows Performance Monitor (perfmon.exe).

Performance Monitor will graph any CSV-formatted data you present to it. This means that you need to configure esxtop to grab the right data. Launch esxtop in batch mode with the following command:

esxtop –a –b –d \\{seconds between captures\\} –n \\{number of captures\\} > \\{directory\\}/\\{fileName\\}.csv

This command will store information across all performance counters every –d seconds for –n captures. Thus, multiplying the number of seconds between captures by the number of captures will tell you how long you'll be capturing data.

The –a command here is important, because it instructs esxtop to capture all performance counters. By grabbing each performance counter within esxtop, you can later, within Performance Monitor, decide which counters you want to view by checking the boxes in its interface. Be aware, however, that using the –a switch will result in an exceptionally large file that could take Performance Monitor a while to process.

If you'd want to get particularly skillful with storing your captures, consider creating a mount point directly to the Windows computer where you'll later run PerfMon. Enable the SMB Client firewall port on the ESX server, then use it to create this mount point from your ESX server. For example, you could create /mnt/perfmon with the command

mkdir /mnt/perfmon

After you create the folder, create the Windows mount point with the following at a command line:

mount -t cifs //\\{windowsServerNameOrIP\\}/\\{windowsServerShare\\} -o username=\\{username\\},password=\\{password\\} /mnt/perfmon

Finally, make sure that your esxtop batch mode command points to /mnt/perfmon instead of a local directory. Now you're directly storing esxtop data on your Windows computer.

Need answers? Submit your own questions!

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.