Home Features Download Plugins Documentation | Issues Feedback Sources

Release Notes

VisualVM 2.0 has been released on February 18th, 2020. This document describes changes introduced by this release.

This release introduces some significant changes. The code base has been merged with the Graal VisualVM, now there's a single VisualVM supporting both Java in general and GraalVM polyglot features. The same bits are now distributed as a standalone tool on GitHub and bundled with the GraalVM 20.0. Note that plugins for VisualVM 1.x won't work in VisualVM 2.x. See the Features and Enhancements section for the list of changes.

Note for plugin developers: VisualVM 2.0 has been migrated to org.graalvm.visualvm.* packages. To make the VisualVM 1.x plugins compatible with VisualVM 2.x, it should be enough to just switch to the new packages, update dependency versions and rebuild. While the 2.x releases will continue to provide a public API, the focus will be mainly on features, performance improvements and code cleanup. Further minor incompatible API changes are expected to occur in the 2.x series. See the API Changes section for more.

System Requirements

Supported OS:

  • Microsoft Windows
  • Linux: Intel platform, ARM HFLT, AArch64
  • macOS

Required Software:

  • Oracle JDK 8~13
  • OpenJDK 8~13
  • GraalVM 19~20


Features and Enhancements:

  • Full GraalVM support, including the polyglot features (JavaScript/Python/Ruby/R heap viewer, JavaScript/Python/Ruby/R cpu and memory sampler, monitoring native-image where enabled)
  • JDK Flight Recorder viewer for JFR snapshots created using Java 7+
  • Dynamic JMX connections - connected automatically whenever the target starts, no need to restart VisualVM
  • Opened applications and applications with snapshots are optionally kept in the Applications view even after terminated
  • Heap viewer improvements - Summary view, merged Fields / References / GC Roots for a class, performance & memory improvements, R console when running on GraalVM with R installed
  • Search in thread dumps and other textual components
  • Load Recent container in the File menu to quickly access the most recently opened snapshots
  • Support for running on and monitoring & profiling the AArch64 architecture
  • The same bits available on GitHub and in GraalVM 20.0 (https://www.graalvm.org)
  • Built on Apache NetBeans Platform 11.1 (https://netbeans.apache.org)

API Changes:

  • Incompatible: the sources have been migrated to org.graalvm.visualvm.* packages
  • Incompatible: the modules have been increased to Major Release Version 2 and Specification Version 2.0
  • Incompatible: further partial incompatible API changes are expected to occur in the following 2.x releases

Fixed Bugs:

  • GH-5: Save connections for later use
  • GH-16: Option to change the colors of thread states
  • GH-45: Make it possible to refresh connections.
  • GH-88: Threads tab: Change color of Park or Monitor
  • GH-107: NPE from HprofHeap.findReferencesFor
  • GH-113: Results in heap viewer not updated on sorting change
  • GH-119: Compare heap dump is missing green/red bar.
  • GH-153: Feature request: Closing tabs with keyboard shortcut
  • GH-172: Can't open core dump

Known Problems

To view all known problems please see the VisualVM Issues page.

To resolve the most common problems please follow the Troubleshooting Guide.