VisualVM 1.3.2 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.2 is a bugfix release based on VisualVM 1.3.1. See the Changes In 1.3.2 section for list of changes and bugfixes since the VisualVM 1.3.1. 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.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
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.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
.npsssnapshots 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)andApplicationDescriptor.resolveApplicationName(application, applicationType)added - Compatible:
com.sun.tools.visualvm.coredump.CoreDumpsContainerDescriptoradded - Compatible:
com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptor.getChildrenComparator(),DataSourceDescriptor.setChildrenComparator(comparator),DataSourceDescriptor.resolveName(dataSource, name)andDataSourceDescriptor.resolvePosition(dataSource, position, savePosition)added - Compatible:
com.sun.tools.visualvm.heapdump.HeapDumpSupport.supportsRemoteHeapDump(application)andHeapDumpSupport.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)andJmxModel.setFlagValue(name, value)added - Compatible:
com.sun.tools.visualvm.host.LocalHostDescriptor.setChildrenComparator(comparator)added - Compatible:
com.sun.tools.visualvm.core.datasupport.Positionable.STRONG_COMPARATORandPositionable.StrongPositionableComparatoradded - Compatible:
com.sun.tools.visualvm.host.RemoteHostDescriptor.setChildrenComparator(comparator)added - Compatible:
com.sun.tools.visualvm.host.RemoteHostsContainermade final (has only a private constructor anyway) - Compatible:
com.sun.tools.visualvm.host.RemoteHostsContainerDescriptoradded - 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)andSnapshotDescriptor.resolveSnapshotName(snapshot)added - Compatible:
com.sun.tools.visualvm.core.snapshot.SnapshotsContainerDescriptoradded - Compatible:
com.sun.tools.visualvm.core.ui.components.Spaceradded
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
jstatdconnections 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
--openfileparameter - 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.nameproperty - Improved performance for remote X sessions
- Automatic detection of broken
jvmstaton Windows (username capitalization vs.hsperfdatafile) - 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)andStorage.hasCustomProperties()added - Compatible:
com.sun.tools.visualvm.application.views.ApplicationViewsSupport.getSnapshotMonitorView()andApplicationViewsSupport.getSnapshotThreadsView()added - Compatible:
com.sun.tools.visualvm.jmx.CredentialsProvider,DefaultCustomizer,EnvironmentProvider,JmxConnectionCustomizerandJmxConnectionSupportadded - Compatible:
com.sun.tools.visualvm.jmx.JmxApplicationsSupport.createJmxApplication(connectionString, displayName, environmentProvider, persistent)andJmxApplicationsSupport.createJmxApplicationInteractive(connectionString, displayName, environmentProvider, persistent)added - Compatible:
com.sun.tools.visualvm.application.jvm.Jvm.getMonitoredData()added - Compatible:
com.sun.tools.visualvm.application.jvm.HeapHistogramadded - 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.JmxApplicationsSupportadded - Compatible:
com.sun.tools.visualvm.application.jvm.Jvm.isCpuMonitoringSupported()andisCollectionTimeSupported()added - Compatible:
com.sun.tools.visualvm.application.jvm.MonitoredData.getProcessCpuTime()andgetCollectionTime()added - Incompatible:
com.sun.tools.visualvm.host.model.HostOverviewFactorymade 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()andgetHostProvider()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.

