使用VisualVM进行Java应用的性能测量

Recently I am trying to find a handy tool to measure the performance of my Java application and finally I think the VisualVM provided by JDK is the ideal one. This blog is written based on JDK1.7 + Eclipse 4.3.2.


What is VisualVM

It is a tool automatically available after JDK is installed. The executable file could be found on your /bin as displayed below.


使用VisualVM进行Java应用的性能测量In order to measure the performance of your application, it is necessary for the application to be recognized by VisualVM first.

There is a plugin named “VisualVM launcher for Eclipse” which can help us about it.


Install and configure VisualVM launcher

(1) download the zip from http://visualvm.java.net/eclipse-launcher.html. Unzip the file and put it to the plugin folder of your Eclipse installation folder. In my laptop it looks like below. There should be a site.xml inside the unzipped folder.



使用VisualVM进行Java应用的性能测量使用VisualVM进行Java应用的性能测量使用VisualVM进行Java应用的性能测量使用VisualVM进行Java应用的性能测量(3) Restart Eclipse, then you can find a new option via the path below. Configure two paths accordingly.


For “JDK Home”, if you configure the JRE path by mistake, later when you try to measure your application, the VisualVM will fail to load with the following error message:


使用VisualVM进行Java应用的性能测量Now the plugin is ready to use.


Do performance measurement

(1) Select your Java project, choose context menu “Run as”->”Run configuration”, create a new Application configuration by specifying VisualVM launcher as its launcher, instead of the default Eclipse JDT launcher.


使用VisualVM进行Java应用的性能测量(2) For example I have a Java application which sorts an array by QuickSort algorithm written by myself and I would like to get its performance data, then I set a breakpoint on line 57, before my main logic is executed.

Then launch the application in debugging mode with the application configuration created in previous step.

Afterwards VisualVM will automatically be launched and successfully recognize the execution of my application.

Click Profiler tab:


使用VisualVM进行Java应用的性能测量使用VisualVM进行Java应用的性能测量使用VisualVM进行Java应用的性能测量使用VisualVM进行Java应用的性能测量

上一篇:【java并发】Semaphore 的使用


下一篇:Juc20_Synchronized锁升级、无锁、偏向锁、轻量级锁、重量级锁、锁消除、锁粗化(五)