Java Profiling and Monitoring tools


  1. VisualVM

There are many Java development tools available for analyzing Java application run time performance. Eclipse has a set of plug-ins called TPTP which provides Java application profiling/monitoring framework. However, TPTP is very slow and I experienced frequent crash while profiling ICU4J codes. For ICU4J development, I recommend several tools described below.


VisualVM is available as a separate download since JDK 9. You can download the latest version from here - There is an Eclipse plug-in, which allow you to launch VisualVM when you run a Java app on Eclipse. You can monitor CPU usage of the Java app, Memory usage (heap/permgen), classes loaded, etc in GUI. You can also get basic profiling information, such as CPU usage by class, memory allocations and generate heap dump, force GC etc.