Thursday, July 23, 2009

Visual VM - a great Java tool you were waiting for!

Picture (c) VisualVM
I planned to publish this post some months ago but unfortunately I was too busy to do so. I'm still busy :) but I can write couple of sentences about VisualVM - a VISUAL (no surprise) tool for monitoring Java applications. If you had to monitor state of your Java systems you probably already know JConsole - a JMX console to you Java stuff. Of course, you can just connect to JVM's JMX services and monitor almost every aspect of VM but the way data is not presented in a very friendly manner. Some differences between VisualVM and JConsole are described in this article.

Anyway, VisualVM is an absolutely GREAT tool to monitor Java apps. You are able to see all threads (with possible deadlocks), memory state (heap and stack), profiling information on CPU and memory utilization, etc. VisualVM has pluggable architecture and you can find many useful addins to it including JConsole plugins. This way you will be able to use only on tool and get rid of JConsole (which is a great tool too).

More details and full-blown tutorial can be found here: http://www.taranfx.com/blog/?p=930

More advanced topics are described here: http://blog.grovehillsoftware.com/2009/05/visualvm-and-cutting-method-calls-by.html

No comments: