Sun Launches Java VisualVM
- By John K. Waters
Sun Microsystems has unveiled a new GUI-based tool for visualizing data sources and troubleshooting Java applications. Java VisualVM 1.0 launched Tuesday as part of JavaSE 6 Update 7.
VisualVM is a free, open-source visual tool that integrates several command-line JDK tools and lightweight performance and memory profiling capabilities, explained the project's technical lead, Tomas Hurka.
Essentially, Java VisualVM offers a visual interface for viewing detailed information about Java apps while they are running on the JVM. The interface organizes JVM data retrieved by the Java Development Kit (JDK), and then presents that information graphically in a view that encompasses multiple Java applications. According to Sun, users can view "different data about multiple Java applications uniformly, whether they are running locally or on remote machines." VisualVM also makes it possible to capture data about the JVM software and save it to a local system, and then view it or share it later.
VisualVM incorporates such technologies as jvmstat, which provides a set of tools for monitoring the performance of the HotSpot Java Virtual Machine (JVM) in production environments; Java Management Extensions (JMX), which provides tools for building solutions for managing and monitoring devices, applications, and service-driven networks; and the NetBeans profiler, a module designed to provide profiling functionality for the NetBeans IDE. In fact, most of the previously stand-alone tools that made up Jconsole -- jstat, jinfo, jstack, and jmap -- are part of VisualVM. Together, all of these technologies provide what the company calls “a unified easy-to-use visual diagnostic tool for both development and production environments.”
By default, VisualVM visualizes specific types of data sources, Sun said, including applications, hosts, snapshots, core dumps, heap dumps and thread dumps. This visualization makes it easier to monitor, analyze, manage, and troubleshoot these types of data sources, according to the company. Java VisualVM "can allow developers to generate and analyze heap dumps, track down memory leaks, browse the platform's MBeans and perform operations on those MBeans, perform and monitor garbage collection, and perform lightweight memory and CPU profiling," Sun said.
There's also a public API available for building extensions to Java VisualVM. The API allows developers to extend VisualVM with their own plug-ins. Sun is providing a VisualVM tutorial and a central repository for developers who wish to share their VisualVM extensions with the entire Java community. Sun is encouraging developers to extend Java VisualVM and add new functionality by creating and posting plug-ins to the tool's built-in update center.
Among the first companies to integrate Sun's new VisualVM technology is Terracotta, the San Francisco-based maker of infrastructure software for enterprise Java software scalability. The company announced Tuesday that it plans to integrate VisualVM in the Terracotta management console.
Ari Zilka, CTO and co-founder of Terracotta, called the two technologies "a natural fit."
"VisualVM provides in-depth analysis of the virtual machine, and Terracotta provides key information on cross-cluster issues," Zilka said in a prepared statement. "Terracotta is making a considerable investment in tools that will ease the transition from single servers or small clusters, to larger clusters. Leveraging the Sun VisualVM technology will allow us to achieve this objective more rapidly and it's an exciting development for our community."
VisualVM is available under the GNU General Public License2 with Classpath Exception. The VisualVM binaries are now available for download here.
John K. Waters is a freelance writer based in Silicon Valley. He can be reached