Home Features Download Plugins Documentation | Issues Feedback Sources

Release Notes

VisualVM 2.1 has been released on July 20th, 2021. This document describes changes introduced by this release.

System Requirements

Supported OS:

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

Required Software:

  • Oracle JDK 8~17*
  • OpenJDK 8~17*
  • GraalVM 19~21
* Tested to work with OpenJDK 17 Early-Access Build 31


Features and Enhancements:

  • Full support for running on/monitoring & profiling JDK 17 (tested to work with OpenJDK 17 Early-Access Build 31):
  • Support for profiling lock contention:
    • GH-298: Add lock contention profiling
  • JFR improvements: start / dump / stop JFR for a running Java process:
    • GH-297: Allow to save JFR recording
  • Sources support improvements:
    • GH-327: Provide Go To Source Support In Core Tool
    • GH-302: Make It Easier To Define JDK Source Roots
  • New command-line options --threaddump, --heapdump, --start-cpu-sampler, --start-memory-sampler, --snapshot-sampler, --stop-sampler, --start-jfr, --dump-jfr, --stop-jfr, --window-to-front:
    • GH-319: Command-Line Option To Take a Thread Dump
    • GH-320: Command-Line Option To Take a Heap Dump
    • GH-321: Command-Line Options To Control Sampler
    • GH-322: Command-Line Options To Control JFR
    • GH-323: Command-Line Option To Focus VisualVM Window
  • Powered by the NetBeans Platform 12.4:
    • GH-316: Update NetBeans Platform to 12.4

Fixed Bugs:

  • GH-288: NPE from JavaClassesProvider.getHeapGCRoots()
  • GH-289: IOException: Can not attach to current VM
  • GH-291: Try to avoid JMX connection until user opens the application
  • GH-292: Plugins | Settings | Proxy Settings Button Doesn't Work
  • GH-300: Full Classname Displayed in Bold in JFR | Exceptions View
  • GH-303: Truncated heap dump not detected
  • GH-307: Endless computation of thread dump
  • GH-308: Slow computation of thread dump
  • GH-309: JavaFrameGCRoot.getThreadGCRoot() is slow
  • GH-310: VisualVM unable to profile TruffleRuby
  • GH-311: Logfile/Options location instructions on macOS unclear
  • GH-312: CPU Sampler | Hot Spots Showing No Results
  • GH-314: Second invocation of specific OQL query doesn't show anything.
  • GH-317: Use Consistent Wording in Sampler/Profiler
  • GH-324: Two JMX MonitoredData timers
  • GH-326: NPE at TreeTableView.isColumnVisible(TreeTableView.java:287)

Known Problems

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

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