Apps and tools built by our engineers that are intended to be played with and explored.




VisualEsxtop is an enhanced version of resxtop and esxtop. VisualEsxtop can connect to VMware vCenter Server or ESX hosts, and display ESX server stats with a better user interface and more advanced features.


  1. Live connection to ESX host or vCenter Server
  2. Flexible way of batch output
  3. Load batch output and replay them
  4. Multiple windows to display different data at the same time
  5. Line chart for selected performance counters
  6. Flexible counter selection and filtering
  7. Embedded tooltip for counter description
  8. Color coding for important counters

Bug Fixed:
Now works with ESXi 5.5.

Also see: How to Run VMware’s Fling VisualEsxtop on Mac OS X


System Requirements

You must have ESX 3.5 or above. Works with vCenter Server 4.0, 4.1, 5.0 and 5.1.  Make sure Java 1.6  is in the PATH.


  1. Download visualEsxtop.zip and unzip the file.
  2. Make sure Java 1.6  is in the PATH.
  3. Type export JAVA_OPTS=-Xmx2048m  if loading large amounts of data
  4. Run visualEsxtop.sh (linux) or visualEsxtop.bat (Windows)


Change Log


Priya Sethuraman

R&D: Performance

Zhelong Pan

R&D: Performance

Haiping Yang

R&D: Performance

Joanna Guan

R&D: Performance
Add Comment

78 thoughts on “VisualEsxtop

  1. Nicolas Couture

    Hi All,

    I got to say that’s a real great tool. However I must mention a weird problem I ran into using that tool :

    When doing Storage vMotions on ESXi hosts (5.1 U2) and looking at “Disk World” stats on the ESXi host who was running the storage vmotion, the host will get disconnected from vCenter near the end of completion of the task (At the state where the ESXi host do some local disk I/O).

    This problem did not happened all the time. Most often the problem has been seen on VMs that were more than 100-150 GB.

    I was able to reproduce this error on 3 different machine types. All of my environment was checked and upgraded : last firmwares on servers, HDDs, SANs, and fiber switches. Also, most recent drivers were installed on ESXi hosts. Nothing did resolve my problem until I quit looking at my live “Disks stats” with visualEsxtop when doing storage vmotions.

    Note : I was using the “visualesxtop.zip” downloaded before march 2014. I know that after March 5th 2014, the “vtop-core.jar” was modified and one line was added in the included file “StatsParser.class”, who was about a certain “wPerDevQueueDepth”.



  2. Avi

    I’m succeeding connecting to a single esxi 5.5 host but fails to connect to a vCenter.
    I’m trying as it is written in the example . which port should i use : (443 ??).
    is it just a question of port or am i doing something wrong ??
    any one had luck with connecting to VC ?

    1. Ruichen Ma

      I’m able to connect to a VC, I used xx.xx.xx.xx/xx.xx.xx.xx, make sure you entered the credentials of your VC, not the host

  3. Alexandre Costa

    When i use Visualesxtop to connect to esx 4.1 systems it works well but when i use it to connect to esx 4.0 i get the following error:

    Connection failed: failed to convert value of type [java.lang.string] to required…

    Any hints how to fix this?

    Thank you.

    1. Daniel Cristini

      I am having the same problem as Alexandre, Visual ESXTop displays the same problem when connecting to ESX 4.0 hosts.

  4. Anil

    Looks like a great tool to monitor stats with advanced options but doesnt connect to ESxi5.5 any updates on the code,


  5. Francesco

    The tool is very useful indeed. Unfortunately, after upgrading to 5.5 we cannot use it any longer. Dear engineers, is there any plan about fixing the tool for the latest vsphere version?

  6. Stefan

    Cool tool!
    But it seems like statistics for our NFS datastores are not displayed. Any plans to implents those is future?

  7. suchit gawali

    please help with usage of application

    Make sure Java 1.6 is in the PATH. what does this means
    Type export JAVA_OPTS=-Xmx2048m if loading large amounts of data. not able to run this command
    Run visualEsxtop.sh (linux) or visualEsxtop.bat (Windows) bat file doesnt starts.

    its windows 2008 server os where am trying to run this program

  8. Peter

    All — if this helps — I’m on Win7 x64 and JAVA 7u45 — I’m finding that if I use FQDN names all around within the program instead of short names — then the program does not freeze and does allow me to use AD login credentials
    ie: vcenter.domain.com:443/esxihostname.domain.com


    I was able to connec to ESXi 5.1 hosts. Used to lockup every now and then but still was useful. After upgrading to 5.5, I get “Connection failed: /by zero”. I still have a few 5.1 host and I can connect to those fine.

  10. Travis

    Love the concept of this, however I’ve tested it out in Windows 7, Windows 2008R2, Windows2k3 x64 and all experience lockups, especially when trying to save to batch. Would definitely welcome any advice into making this more stable (I’ve tried adjusting java_opts). I’ve attempted to use both the x64 and x32 JDK (java version “1.7.0_40″)

  11. Jiri Viktorin

    Did anybody try that to connect to vSphere 5.5 esx host or vCenter? I am getting info, that it is not able to Connect:
    “Connection failed: / by zero”

    When I have try that before with vSphere 5.1 it works.


  12. Tommy Song

    What is the maximum snapshot supported when “Load All Batch Output”?
    I have a batch file of 3 hours with 5 seconds interval (2160 snapshots) and unable to load this data without run into java heap OOM. I have already allocate 4096M to java heap and still no go.

    Tommy S.

  13. Matt Gagliardi

    Does anyone have an idea of how many data points are supported? I seem to be seeing only a limited number of a longer-term capture. I’d like to widen the “domain” scope.

  14. Mike

    Could you provide more detail into the directions for running in Windows OS? What does “Make sure Java 1.6 is in the PATH” mean exactly?

    1. Matt Gagliardi

      Mike…it means that if you open a command prompt and type “java -version” you get a legit response :) Basically that your machine understands how to execute Java stuff. You should have no problem using Google to get Java into your path if you don’t get a response to the above command.

  15. Matt Gagliardi

    I’m trying to chart an ESXTOP trace that was conducted over a period of 4 hours w/5 sec samples. I can open the CSV alright but I only seem to be able to see the last ~15 minutes of data (loading the entire batch file, not replaying it). Is there some limitation on the number of data points the tool will allow?

  16. pkeating

    Works well on XP x64. Windows7 x64 hangs consistently.

    It would be great to make the graph page exportable to CSV, especially considering that the saved batch file native counters don’t have names that can be easily identify them for graphhing using other means.

    If I want to compare storage CMDS/s or GAVG/s I can’t find that in the saved counter set but I can graph them within the tool if I load the saved file. Is CMDS/s calculated? I’d love to know how some of these counters are accessed or named to get at them directly so I can greate more advanced graphs.

    Excellent job!!!

  17. Greg Smith

    The zip file for download comes up as corrupt or empty even though it shows 4.6 meg in size. Any suggestions?

    1. haiping

      1. download the zip.
      2. extract it.
      3. rename the visualEsxtop-1 file (without extension) to visualEsxtop-1.tar
      4. extract this one also.

  18. Marc Zimmermann


    Do you try to running it on Windows?
    1. download the zip.
    2. extract it.
    3. rename the visualEsxtop-1 file (without extension) to visualEsxtop-1.tar
    4. extract this one also.

    Now you see the batch scripts and the lib folder.

    have fun.

  19. john

    Application “locks” after a few seconds. I can see in vSphere client that visualesxtop is still requesting data every 5 seconds, but the application window never refreshes.

    Win7 32bit, Java 7 update 25. Tested connecting to ESXi 5.1 and 4.1 and got same results.

    Log file shows hundreds of lines with this type of error:
    2013-07-12 10:28:57,036 INFO impl.StatsSnapshot [pool-2-thread-8] – Queried for a non-existing object type: AdapterName
    2013-07-12 10:28:57,036 INFO impl.StatsSnapshot [pool-2-thread-8] – Queried for a non-existing object type: Nfs
    2013-07-12 10:28:57,036 INFO impl.StatsSnapshot [pool-2-thread-8] – Queried for a non-existing object type: MountName

  20. Ronen

    Using the local administrator user on the vCenter (which works on the vSphere Client) also fails with the same error.

  21. Ronen

    I’m able to connect directly to my ESX servers. When I’m trying to connect to my vCenter with my domain user,
    I’m receiving the following error: Connection failed: com.vmware.vtop.data.VTopDataException: Cannot find E…
    (I can’t expand the windows to see the entire error message).

  22. dch40

    Running on Win 7 x64, program hangs when clicking on ‘CPU’ tab. I can’t click on other tabs or do anything else. No error. In ‘vtop.log’ I keep getting “2013-07-09 07:23:40,749 INFO impl.StatsSnapshot [AWT-EventQueue-0] – Queried for a non-existing object type: Server” over and over – 3500 times per sec. Then get:

    2013-07-09 07:23:42,777 INFO impl.PerfObjectTypeManager [AWT-EventQueue-0] – No stats key is available
    java.util.MissingResourceException: Can’t find resource for bundle java.util.PropertyResourceBundle, key VCPU.SWAP_WAIT

    I re-launched program and tried the graphs tab. I was able to get one or two graph lines to appear but they did not update. Checked config and update was set to 5 sec.

    Tried clicking other tabs and was able to do so but info appears static. Shouldn’t it update?

    I think it needs some work.


    1. haiping

      this is weird, I meant to say vc-server-ip + / + host, but when it’s posted, only “/” is displayed.

  23. Ashok

    How do I connect to vCenter server..? Usage to connect to vcenter server says: “vCenter server:port/ESXi host”
    What is the port number that should be passed here..?

  24. Raymond

    I keep receiving error that Java is not recognized although i have set the path in environment variable…..

  25. Gabriele Sabbatino

    Seems interesting but as other it freezes on Win 7 x64 with Java 1.7. Tried to connect to an host it is ok, Vcenter is not working, shall I need to pass the port as well? Can I use Ad account to login?


    1. Matt

      I am having the same issue; how would you connect to a vCenter server? I’ve tried with AD credentials and a local login.

    2. haiping

      port number is optional(default 443), you can log in with just vc server and host name and administrator user and password.

  26. CristiCalin

    Would be nice to be able to remove a graph once it is added or separate graphs into different windows so you can look at them side by side and not overlap (in the case of different metrics).
    Cool tool though, works great on Linux (Ubuntu 13.04 x64).

  27. Bob

    Nice start, a bit rough around the edges. I’d like to eventually see this incorporated in the vCenter VIC/web client. No reason for vCenter performance charts and ESXtop to reside in different places.

    1. haiping

      Yeah, an effort is going on to add this as a VC NGC plugin. My windows testings were done on my desktop(win xp), I will make sure more testings are done on win7 etc. to make sure the hanging problem is resolved.

  28. gwatsontx

    Very exciting stuff! I’d look at EsxStop much more often with an app like this. Thank you!

    The app is freezing up on me as well. Win 7 (x64) with Java 1.7. Connected to just one ESXi host.

    Increasing the heap size did seem to extend the run time for a bit

  29. RamblingCookieMonster

    This freezes up for me as well. Windows 8 Enterprise w/ Java 7.0.170.

    Increasing the heap size seemed to help with stability. Even with increased heap size, I find when I do freeze, it is almost exclusively while looking through the file menus.

    Great idea and more convenient than working from SSH – looking forward to updates!

  30. Martin Palma

    Great tool!! It would be nice if the vm name would be displayed in the name column like in esxtop. Have you intention to maybe open source the code?

  31. Andi

    this fling is a great idea, but after 20 – 40 seconds the application hangs :-(
    No chance to keep it running on my system.

  32. Paul Petty

    Again the same result as previous comments. Works fine for a few seconds and then hangs. Looks good to start with though and certainly looking forward to seeing this fling again when the bug is fixed.

  33. Graeme Knights

    Same with me, connects just fine and looks fantastic for about 20 seconds before hanging. Fingers crossed that development continues as the concept is great!

    Windows 8 (x64), Java 1.7.0_25 (x86)

    1. haiping

      which option did you run? “file->Connect to live server”? I tried windows 7 x64, java version 1.7.0_25, kept it running for hours, was not able to repeat the hang, but I was able to get it to hang after I tried to connect to another esx host in addition to the one already connected. Did you use other options like “save to a batch file” ?

  34. Dmitry Smirnov

    Excellent product, but needs more work, I believe.
    With my cluster, it connects fine, works for about 15 to 20 seconds – then just hangs (you have to kill the process)
    Windows 7 x64, Java version 1.7.0_01
    Still, a great start, all the best of luck in developing this.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>