VisualVM 1.3.8 Release Notes

VisualVM is a visual tool integrating several commandline JDK tools and lightweight profiling capabilities. Designed for both production and development time use, it further enhances the capability of monitoring and performance analysis for the Java SE platform.

VisualVM 1.3.8 release is based on VisualVM 1.3.7. See the Changes In 1.3.8 section for list of changes and bugfixes since the VisualVM 1.3.7. See the Releases Overview page for detailed overview of all VisualVM and Java VisualVM releases.

System Requirements

Supported OS:

  • Microsoft Windows (8, 7, Vista, Server): 32bit & 64bit
  • Linux: Intel platform, 32bit & 64bit
  • Linux ARM HFLT (Raspberry Pi), JDK 8+ only
  • Sun Solaris: Intel & Sparc platform, 32bit & 64bit
  • Mac OS X: Intel platform, 64bit
  • HP-UX 11i: PA-RISC platform, 32bit & 64bit

Required software:

  • Oracle JDK 7+
  • OpenJDK 7+
  • IcedTea 7+
  • HP-UX JDK 7.0.x+

Changes In 1.3.8

Features and enhancements:

  • Monitor graphs in Application Snapshots can now be zoomed and scrolled.
  • NB Issue 238028: Add support for profiling Java SE Embedded on ARM-VFP-HFLT platform
  • NB Issue 238594: Improve Threads view
  • NB Issue 235168: Warn the user when comparing 32bit vs. 64bit heap dumps or memory snapshots
  • NB Issue 237308: [heapwalker] binary export
  • NB Issue 237864: [heapwalker] heap model can use less memory
  • Built on NetBeans Platform & profiler 8.0

API Changes:

  • Compatible: com.sun.tools.visualvm.application.jvm.Jvm.is19() added
  • Compatible: com.sun.tools.visualvm.charts.xy.SimpleXYChartUtils.setZoomingEnabled(boolean enabled) added
  • Compatible: com.sun.tools.visualvm.charts.xy.SimpleXYChartUtils.isZoomingEnabled() added

Fixed bugs:

  • Issue 478: Spikey and sometimes scattered graph
  • Issue 553: Rendering issues with charts after long data display
  • Issue 592: use jcmd to enable local JMX agent
  • Issue 595: Broken graph mesh in Application snapshots
  • Issue 596: Missing default root methods
  • Issue 597: Remove "PermGen histogram" on JDK 8+
  • IssueTracker query to list all changes in NetBeans profiler affecting VisualVM

Known Problems

  • NB Issue 245522: Instrumented CPU profiling fails on JDK7u65 with -target >=1.7
  • Issue 148: VisualVM hangs when lost remote connection
  • Issue 120: JMX application datasource cannot be reused on application restart

To view all known problems please use this IssueTracker query.






History of Changes


Changes In 1.3.7

Features and enhancements:

  • Issue 576: Add memory sampling functionality for remote applications
  • Issue 583: Improve handling profiler calibration
  • NB Issue 225710: [heapwalker] Display logical values of instances where feasible
  • NB Issue 227292: Enhance Thread display with info about java.util.concurrent locks
  • NB Issue 228403: Sort methods by inclusive time
  • Built on NetBeans Platform & profiler 7.4

API Changes:

  • Compatible: com.sun.tools.visualvm.application.jvm.Jvm.takeHeapHistogram() added
  • Compatible: com.sun.tools.visualvm.tools.jmx.JmxModel.takeHeapHistogram() added
  • Compatible: com.sun.tools.visualvm.jmx.DefaultCustomizer.allowsInsecureConnection() added
  • Compatible: com.sun.tools.visualvm.jmx.JmxApplicationsSupport.createJmxApplicationInteractive(..., boolean allowsInsecure) added
  • Compatible: com.sun.tools.visualvm.jmx.JmxConnectionCustomizer.Setup(..., boolean allowsInsecureConnection) added
  • Compatible: com.sun.tools.visualvm.jmx.JmxConnectionCustomizer.Setup.allowsInsecureConnection() added

Fixed bugs:

  • Issue 571: MissingResourceException when starting CPU profiler
  • Issue 572: Cannot connect to remote jmx agent discovered via jstatd
  • Issue 577: Profiler class sharing warning displayed incorrectly for JDK 7 and JDK 6
  • Issue 579: Deadlock after startup
  • Issue 581: Network Options - Manual settings
  • Issue 582: Undocked Applications view is semi-transparent
  • IssueTracker query to list all changes in NetBeans profiler affecting VisualVM

Changes In 1.3.6

Features and enhancements:

  • Issue 415: Don't check&delete the remote sites at startup
  • Issue 522: Update VisualVM to reflect metaspace changes
  • Issue 564: Make sure VisualVM works with read-only JMX connection
  • NB Issue 134787: Ability to compare CPU snapshots
  • NB Issue 212357: Show retained size by classes
  • Built on NetBeans Platform & profiler 7.3.1

API Changes:

  • Compatible: com.sun.tools.visualvm.application.jvm.Jvm.getGenName() added
  • Compatible: com.sun.tools.visualvm.tools.jvmstat.JvmJvmstatModel.getGenName() added
  • Compatible: com.sun.tools.visualvm.modules.startup.dialogs.StartupDialog added

Fixed bugs:

  • Issue 153: Random deadlock when starting VisualVM
  • Issue 545: Loading profiler for OC4J fails with NullPointerException - easy fix
  • Issue 548: Snapshot text is missing
  • Issue 555: Cannot see local Java applications if Eclipse Juno Service Release 2 is running on Mac OS X 10.8.3
  • Issue 558: java.util.MissingResourceException: MSG_Broken_Jsp_NoLink
  • Issue 559: Need user feedback when determined that username/password may be sent via an insecure connection
  • Issue 563: No error message if "Monitor" / "Perform GC" fails because of insufficient privilege
  • Issue 565: [OQL] instance field named "map" cannot be displayed
  • BTrace issue 90: BTrace does not work for JDK7u25
  • IssueTracker query to list all changes in NetBeans profiler affecting VisualVM

Changes In 1.3.5

Features and enhancements:

  • Issue 526: Update visualvm launchers
  • Issue 520: Extend KillApplication action to also use kill -9
  • Issue 517: Open .npss files in timeline
  • UI appearance improvements
  • NB Issue 55485: Allow filtering treetable results
  • NB Issue 139305: ability to define name and add metadata to snapshots
  • NB Issue 181194: Speed-up computation of retained sizes
  • NB Issue 205250: UI to copy nearest GC root trace to clipboard
  • Built on NetBeans Platform & profiler 7.2.1

Fixed bugs:

  • Issue 530: Random deadlock when starting VisualVM
  • Issue 529: Deadlock detector throws NoSuchMethodException on JDK 1.5
  • Issue 528: SysTray plugin throwing AWTException on VisualVM startup on Ubuntu 12.04
  • Issue 527: NPE when restoring saved core dumps
  • Issue 525: CSV Export colums incorrect and values shouldn't have a unit
  • Issue 519: Sample action incorrectly enabled
  • Issue 518: MBeans: Improve error message when invoke operation failed
  • Issue 516: VisualVM does not recognize itself
  • Issue 513: Unidentified developer when run on OS X Mountain Lion
  • Issue 512: Cannot open a snapshot
  • Issue 510: snapshot save don't use filename
  • Issue 507: Cannot see local Java applications if NetBeans 7.1.2 is running on Mac OS X
  • Issue 505: Name of Eclipse applications is shown as "null"
  • Issue 467: Thread CPU Time: clicking Deltas doesn't refresh data
  • IssueTracker query to list all changes in NetBeans profiler

Changes In 1.3.4

Features and enhancements:

  • Issue 490: Support for JDK 8.
  • Issue 495: '<Unknown Application>' now displayed as 'Local Application' and 'Remote Application'
  • Issue 498: Recognizing IntelliJ platform applications
  • Issue 499: Recognizing Eclipse IDE process
  • Built on NetBeans Platform & profiler 7.1.1

API Changes:

  • Compatible: com.sun.tools.visualvm.application.jvm.Jvm.is18() added
  • Compatible: com.sun.tools.visualvm.application.type.ApplicationType.PROPERTY_SUGGESTED_NAME added
  • Compatible: com.sun.tools.visualvm.charts.SimpleXYChartSupport.setLegendVisible(visible) and SimpleXYChartSupport.isLegendVisible() added

Fixed bugs:

  • Issue 471: Cannot access heapdump/threadump from application snapshot
  • Issue 486: ML build does not preserve execute permission
  • Issue 494: Sampler settings UI disabled when application terminates
  • Issue 496: Applications added by JMX connection don't display application type/custom name
  • Issue 497: JMX Connection tab not available for applications added using '--openjmx'
  • IssueTracker query to list all changes in NetBeans profiler

Changes In 1.3.3

Features and enhancements:

  • Eclipse VisualVM Launcher now supports Eclipse IDE 3.6 and newer.
  • Issue 337: JUnit support for Eclipse VisualVM Launcher
  • Issue 443: Automatic deadlock detector
  • Issue 452: Add support for tracking of cumulative Java heap bytes allocated on a per-thread basis
  • Issue 455: Add 'Pending Finalizers Count' probe
  • Issue 463: Add support for tracking of CPU time on a per-thread basis
  • NetBeans issue 191779: Detect heap dump caused by OOME and indicate which thread is throwing OOME
  • Built on NetBeans Platform & profiler 7.0.1

Fixed bugs:

  • Issue 416: VisualVM does not start on Windows
  • Issue 419: Swing/AWT code invoked out of EDT
  • Issue 442: Fields in Proxy settings are not trimmed
  • Issue 446: Perm Gen information is missing
  • Issue 454: Installation of Kill Application plugin timeouts in 2nd+ session
  • Issue 460: NetBeans 7.0 recognized as 6.9+
  • Issue 462: Open references to all files > 1MB after loading a heap dump
  • Issue 465: VisualVM Eclipse plugin can't launch VisualVM with JDK 1.7.0
  • Issue 466: libprofilerinterface.so files on Solaris and Linux are not executable
  • IssueTracker query to list all changes in NetBeans profiler

Changes In 1.3.2

Features and enhancements:

  • Issue 428: Show CompositeType field descriptions in tooltips
  • tracking (hash)map resize events by Tracer-Collections plugin

Fixed bugs:

  • Issue 412: Malicious code vulnerability warnings reported by findbugs
  • Issue 430: Stack overflow at disconnect of JMX application
  • Issue 432: Profiler tab is not available for OpenJDK 7
  • Issue 434: java.lang.NoSuchMethodError from Tracer Jvmstat
  • NetBeans issue 191297: Profiling fails with 'Redefinition failed with error 62'
  • NetBeans issue 194407: Installed Plugin Tab does not show list of plugins installed
  • NetBeans issue 195955: [HeapWalker] deadlock in processing of OQL query
  • Threads not displayed in Threads Inspector in JDK 7
  • Tracer timeline layout oscillates in JDK 7
  • http links updated: sun.com -> oracle.com

Changes In 1.3.1

Features and enhancements:

    • Added Java version and vendor information to the application Overview view
    • Built on NetBeans Platform & profiler 6.9.1

Fixed bugs: IssueTracker query.

Changes In 1.3

Features and enhancements:

  • Sampler added to the core tool
  • Introduced Sampler and Profiler presets
  • Enabled taking remote heap dumps
  • Enabled monitoring remote hosts via a JMX-enabled application
  • Enabled custom sorting of hosts, applications, coredumps and snapshots
  • Recognizing Clojure, Groovy, JRuby, Jython and Scala runtimes
  • Introduced Tracer framework and probes
  • Introduced Threads Inspector plugin
  • Distributed also as a Mac OS X Application Bundle
  • Built on NetBeans Platform & profiler 6.9:
    • Summary | Overview view in HeapWalker now displays local variables in Threads section
    • Support for opening .npss snapshots created by the NetBeans IDE's Profile Me! feature
    • Number of bugfixes and performance improvements in Profiler, HeapWalker and charts

API Changes:

  • Compatible: com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(application, preferredPosition) and ApplicationDescriptor.resolveApplicationName(application, applicationType) added
  • Compatible: com.sun.tools.visualvm.coredump.CoreDumpsContainerDescriptor added
  • Compatible: com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptor.getChildrenComparator(), DataSourceDescriptor.setChildrenComparator(comparator), DataSourceDescriptor.resolveName(dataSource, name) and DataSourceDescriptor.resolvePosition(dataSource, position, savePosition) added
  • Compatible: com.sun.tools.visualvm.heapdump.HeapDumpSupport.supportsRemoteHeapDump(application) and HeapDumpSupport.takeRemoteHeapDump(application, dumpFile, customizeDumpFile) added
  • Compatible: com.sun.tools.visualvm.tools.jmx.JmxModel.getSystemProperties(), JmxModel.isTakeHeapDumpSupported(), JmxModel.takeHeapDump(fileName), JmxModel.isTakeThreadDumpSupported(), JmxModel.takeThreadDump(), JmxModel.takeThreadDump(threadIds[]), JmxModel.getFlagValue(name) and JmxModel.setFlagValue(name, value) added
  • Compatible: com.sun.tools.visualvm.host.LocalHostDescriptor.setChildrenComparator(comparator) added
  • Compatible: com.sun.tools.visualvm.core.datasupport.Positionable.STRONG_COMPARATOR and Positionable.StrongPositionableComparator added
  • Compatible: com.sun.tools.visualvm.host.RemoteHostDescriptor.setChildrenComparator(comparator) added
  • Compatible: com.sun.tools.visualvm.host.RemoteHostsContainer made final (has only a private constructor anyway)
  • Compatible: com.sun.tools.visualvm.host.RemoteHostsContainerDescriptor added
  • Compatible: com.sun.tools.visualvm.core.snapshot.Snapshot.isInSnapshot() added
  • Compatible: com.sun.tools.visualvm.core.snapshot.SnapshotDescriptor.<init>(snapshot, description, icon), SnapshotDescriptor.<init>(snapshot, name, description, icon, position, autoExpansionPolicy) and SnapshotDescriptor.resolveSnapshotName(snapshot) added
  • Compatible: com.sun.tools.visualvm.core.snapshot.SnapshotsContainerDescriptor added
  • Compatible: com.sun.tools.visualvm.core.ui.components.Spacer added

Fixed bugs: IssueTracker query.

Changes In 1.2.2

Features and enhancements:

  • HeapWalker performance improvements
  • VisualVM-Sampler performance improvements
  • Profiling engine bugfixes
  • BTrace4VisualVM plugin introduces BTrace 1.1
  • Minor appearance improvements for Mac OS X
  • Built on NetBeans Platform 6.8

Fixed bugs: IssueTracker query.

Changes In 1.2.1

Fixed bugs: IssueTracker query.

Changes In 1.2

Features and enhancements:

  • Sampling CPU and Memory profiler plugin (VisualVM-Sampler available on Plugins Center)
  • Support for multiple jstatd connections on a single local/remote host
  • New charts with dynamic tooltips, public Charts API for plugins
  • Monitor and Threads tab are saved into Application Snapshot
  • Application Snapshots can be opened using the Load action or --openfile parameter
  • Properties UI for Applications, Hosts and Snapshots, public Properties API for plugins
  • Customizable proxy settings in Options dialog
  • UI for customizing SSL certificates in Options dialog (VisualVM-Security available on Plugins Center)
  • Enhanced JMX API to enable customizing JMX environment/connections by plugins
  • Display name defined by the monitored application: visualvm.display.name property
  • Improved performance for remote X sessions
  • Automatic detection of broken jvmstat on Windows (username capitalization vs. hsperfdata file)
  • Various UI improvements: main menu, toolbar and context menu; system (theme) colors; About dialog, profiler snapshots, HeapWalker
  • Built on NetBeans Platform & profiler 6.7.1:
    • Exporting profiler snapshots to HTML, XML and CSV
    • Computing retained size in HeapWalker
    • OQL scripting support in HeapWalker (OQL Syntax Support [enhanced OQL editor] available on Plugins Center)
    • Thread stack traces at the heap dump in HeapWalker
    • Improved appearance on Mac OS X

API Changes:

  • Compatible: com.sun.tools.visualvm.charts.* added
  • Compatible: com.sun.tools.visualvm.core.properties.* added
  • Compatible: com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptor.providesProperties() added
  • Compatible: com.sun.tools.visualvm.core.ui.DataSourceWindowManager.openDataSource(dataSource, selectView) added
  • Compatible: com.sun.tools.visualvm.core.datasource.Storage() added
  • Compatible: com.sun.tools.visualvm.core.datasource.Storage.clearCustomProperty(property), Storage.clearCustomProperties([] properties) and Storage.hasCustomProperties() added
  • Compatible: com.sun.tools.visualvm.application.views.ApplicationViewsSupport.getSnapshotMonitorView() and ApplicationViewsSupport.getSnapshotThreadsView() added
  • Compatible: com.sun.tools.visualvm.jmx.CredentialsProvider, DefaultCustomizer, EnvironmentProvider, JmxConnectionCustomizer and JmxConnectionSupport added
  • Compatible: com.sun.tools.visualvm.jmx.JmxApplicationsSupport.createJmxApplication(connectionString, displayName, environmentProvider, persistent) and JmxApplicationsSupport.createJmxApplicationInteractive(connectionString, displayName, environmentProvider, persistent) added
  • Compatible: com.sun.tools.visualvm.application.jvm.Jvm.getMonitoredData() added
  • Compatible: com.sun.tools.visualvm.application.jvm.HeapHistogram added
  • Compatible: com.sun.tools.visualvm.tools.attach.AttachModel.takeHeapHistogram() added
  • Compatible: com.sun.tools.visualvm.tools.jvmstat.JvmstatModel.getConnectionId() added

Fixed bugs: IssueTracker query.

Changes In 1.1.1

Features and enhancements:

  • Introduced the Memory Sampler plugin
  • Improved integration of the Visual GC tool
  • Added version info to the Windows launcher visualvm.exe

API Changes:

  • Compatible: com.sun.tools.visualvm.host.HostsSupport.getOrCreateHost(hostname, interactive) added

Fixed bugs: IssueTracker query.

Changes In 1.1

Features and enhancements:

  • CPU usage and GC activity graph in Monitor tab
  • Table view in Threads tab
  • Commandline options: --openpid, --openjmx, --openfile
  • Compare Memory Snapshots action in context menu
  • Copy To Clipboard / Save To File buttons in About dialog
  • Monitoring IBM JVM via JMX connection
  • Experimental support for HP-UX PA-RISC
  • Integration plugin for Eclipse IDE
  • NetBeans Platform 6.5 as a basis

API Changes:

  • Compatible: com.sun.tools.visualvm.host.HostsSupport.createHost(hostname, displayname) added
  • Compatible: com.sun.tools.visualvm.jmx.application.JmxApplicationsSupport added
  • Compatible: com.sun.tools.visualvm.application.jvm.Jvm.isCpuMonitoringSupported() and isCollectionTimeSupported() added
  • Compatible: com.sun.tools.visualvm.application.jvm.MonitoredData.getProcessCpuTime() and getCollectionTime() added
  • Incompatible: com.sun.tools.visualvm.host.model.HostOverviewFactory made final
  • Incompatible: com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptor.<init>() removed
  • Incompatible: com.sun.tools.visualvm.coredump.CoreDumpSupport.register() is no more public
  • Incompatible: com.sun.tools.visualvm.host.HostsSupport.getStorageDirectoryString() and getHostProvider() are no more public

Fixed bugs: IssueTracker query.

Changes In 1.0.1

Features and enhancements:

  • Profiler supports OpenJDK
  • Profiler is silently disabled on unsupported platforms, the rest of the tool can run unaffected
  • Minor improvements of warning messages in the tool and plugins to better describe reported problems
  • New plugins available on the Plugin center: JvmCapabilities, KillApplication, SysTray

Fixed bugs: IssueTracker query.

On This Page

System Requirements Changes In 1.3.8 Known Problems History of Changes

Quick Links

Features Download Documentation Plugins Releases Overview