What is Visual VM?

Visual VM is a new project whose goal is to provide monitoring and profiling tools for the JVM with a GUI. You may ask - why do we need visual VM when we have NetBeans profiler? Well, in order to use NetBeans profiler you need to use NetBeans - on the contrary Visual VM is a standalone application (based on NetBeans platform :).

So what is the difference between NetBeans profiler and Visual VM? Some parts are very similar - especially the thread, CPU and memory profiling. Visual VM doesn't have some of the advanced features of NetBeans profiler, such as load generation with jMeter and source code related features including profiling points. On the other hand it is a "all-in-one" tool for monitoring and profiling tasks. So it integrates functionality from various command line tools such as jps, jstack, jstat, jmap and jinfo.

When you run Visual VM you can see all running java processes and you can connect to them, take thread dumps, heap dumps, analyze CPU and memory performance. Although Visual VM requires JDK 6 to start you can connect to applications running on 1.4.2 or higher. And you can also connect to remote hosts and perform remote profiling.

Visual VM also shares the NetBeans plug-in architecture, so you can create plug-ins for Visual VM like if they were NetBeans plug-ins. Right now you can install an MBeans browser plug-in and a visual GC plug-in.

You can download Milestone 1 of Visual VM and give it a spin yourself. For more information look at the PDF presentation from last Java One BoF about Visual VM.


has Visual VM any advantages over JConsole? Or is it some kind of modular replacement for JConsole? ;)

nonetheless works great!

Posted by Michael Bien on leden 25, 2008 at 06:53 dop. CET #

JConsole can't do profiling, so that's one advantage. Also all the tools are integrated in one package (if anything's missing it may be added - we have M1 now, it's the first preview). I think Visual VM and JConsole will co-exist, at least for some time, however Visual VM has a lot of potential because it's easily extensible thanks to modular architecture which is the same as of NetBeans.

Posted by Roman Strobl on leden 25, 2008 at 08:19 dop. CET #

Just a note that in your banner at the top of your page you have a logo encouraging people to "Get the new Netbeans 5.5"

Posted by Hayden Jones on leden 25, 2008 at 09:26 dop. CET #

Fixed, thanks.

Posted by Roman Strobl on leden 25, 2008 at 09:40 dop. CET #

There is an introductory document available on the project web site at: https://visualvm.dev.java.net/description.html

Posted by Gregg Sporar on leden 25, 2008 at 04:09 odp. CET #

One of my favorites that's in VisualVM is the VisualGC plugin is already available as optional plug-in in the update center. I really like the "undock" / "dock" capability when using VisualGC in VisualVM. If I could just have multiple VisualGC windows monitoring different JVMs at the same time within VisualVM I'd be an incredibly happy VisualVM user :-)

Posted by huntch on leden 26, 2008 at 07:01 dop. CET #

Very Interesting. I'm sure it can be very helpful for debugging and performance issue tracking.
I'm going to try it.

Posted by Reza Azizi on leden 28, 2008 at 09:42 dop. CET #

This does indeed sound interesting and a welcome 'companion' to jConsole; although the requirement that it must use JDK 6 could be a slight issue. I fear that a lot of large firms haven't made the jump to 6 yet. However I will certainly have a play with this at home. Will it also work on apps running in Glassfish ?

Posted by AlexC on leden 29, 2008 at 11:45 odp. CET #

Hi AlexC,
VisualVM itself runs on JDK6, however the monitored / profiled application can run on anything from JDK 1.4.2 up. There are couple of limitations based on specific JDK version as listed on https://visualvm.dev.java.net/

VisualVM by default treats GlassFish as a generic Java app. VisualVM is fully extensible though, so it is easy to make a GlassFish plugin that would provide some more specific info / control over the server as well as its running apps. The good news is the work on this plugin is already in progress :)


Posted by Arseniy Kuznetsov on leden 30, 2008 at 06:29 dop. CET #


Posted by Veera on duben 26, 2009 at 10:15 odp. CEST #

Post a Comment:
Comments are closed for this entry.

Roman Strobl


« duben 2016