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.2 is a stable release following after VisualVM 1.1.1. See the Changes In 1.2 section for list of changes and bugfixes since the VisualVM 1.1.1. See the Releases Overview page for detailed overview of all VisualVM and Java VisualVM releases.
Supported OS:
Required software:
Features and enhancements:
jstatd
connections on a single local/remote host
--openfile
parameter
visualvm.display.name
property
jvmstat
on Windows (username capitalization vs. hsperfdata
file)
API Changes:
com.sun.tools.visualvm.charts.*
added
com.sun.tools.visualvm.core.properties.*
added
com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptor.providesProperties()
added
com.sun.tools.visualvm.core.ui.DataSourceWindowManager.openDataSource(dataSource, selectView)
added
com.sun.tools.visualvm.core.datasource.Storage()
added
com.sun.tools.visualvm.core.datasource.Storage.clearCustomProperty(property)
, Storage.clearCustomProperties([] properties)
and Storage.hasCustomProperties()
added
com.sun.tools.visualvm.application.views.ApplicationViewsSupport.getSnapshotMonitorView()
and ApplicationViewsSupport.getSnapshotThreadsView()
added
com.sun.tools.visualvm.jmx.CredentialsProvider
, DefaultCustomizer
, EnvironmentProvider
, JmxConnectionCustomizer
and JmxConnectionSupport
added
com.sun.tools.visualvm.jmx.JmxApplicationsSupport.createJmxApplication(connectionString, displayName, environmentProvider, persistent)
and JmxApplicationsSupport.createJmxApplicationInteractive(connectionString, displayName, environmentProvider, persistent)
added
com.sun.tools.visualvm.application.jvm.Jvm.getMonitoredData()
added
com.sun.tools.visualvm.application.jvm.HeapHistogram
added
com.sun.tools.visualvm.tools.attach.AttachModel.takeHeapHistogram()
added
com.sun.tools.visualvm.tools.jvmstat.JvmstatModel.getConnectionId()
added
Fixed bugs: IssueTracker query.
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.
Features and enhancements:
visualvm.exe
API Changes:
com.sun.tools.visualvm.host.HostsSupport.getOrCreateHost(hostname, interactive)
added
Fixed bugs: IssueTracker query.
Features and enhancements:
--openpid
, --openjmx
, --openfile
API Changes:
com.sun.tools.visualvm.host.HostsSupport.createHost(hostname, displayname)
added
com.sun.tools.visualvm.jmx.application.JmxApplicationsSupport
added
com.sun.tools.visualvm.application.jvm.Jvm.isCpuMonitoringSupported()
and isCollectionTimeSupported()
added
com.sun.tools.visualvm.application.jvm.MonitoredData.getProcessCpuTime()
and getCollectionTime()
added
com.sun.tools.visualvm.host.model.HostOverviewFactory
made final
com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptor.<init>()
removed
com.sun.tools.visualvm.coredump.CoreDumpSupport.register()
is no more public
com.sun.tools.visualvm.host.HostsSupport.getStorageDirectoryString()
and getHostProvider()
are no more public
Fixed bugs: IssueTracker query.
Features and enhancements:
Fixed bugs: IssueTracker query.