VisualVM 1.3 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 is a stable release following after VisualVM 1.2.2. See the Changes In 1.3 section for list of changes and bugfixes since the VisualVM 1.2.2. See the Releases Overview page for detailed overview of all VisualVM and Java VisualVM releases.

System Requirements

Supported OS:

  • Microsoft Windows (7, Vista, XP, Server): 32bit & 64bit
  • Linux: Intel platform, 32bit & 64bit
  • Sun Solaris: Intel & Sparc platform, 32bit & 64bit
  • Mac OS X: Intel platform, 32bit & 64bit
  • HP-UX 11i: PA-RISC platform, 32bit & 64bit

Required software:

  • Oracle/Sun JDK 6+
  • OpenJDK 6+
  • IcedTea 6+
  • Apple JDK 6+
  • HP-UX JDK 6.0.01+

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.

Known Problems

  • Issue 224: Cannot memory profile JBoss AS 4.2.3.GA
  • Issue 148: VisualVM hangs when lost remote connection
  • Issue 120: JMX application datasource cannot be reused on application restart
  • Issue 72: Running application sometimes not recognized

Warning: due to a JDK bug taking heap dump may crash the target JVM if it's running JDK 6 Update 16+ using Concurrent Mark Sweep garbage collector (CMS). A workaround is to use a different GC (for example using -XX:+UseParallelGC). Similar problem seems to affect also the JDK 7 devbuilds.

To view all known problems please use this IssueTracker query.






History of Changes


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.2.2 Known Problems History of Changes

Quick Links

Features Download Documentation Plugins Releases Overview