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.
Supported OS:
Required software:
Features and enhancements:
.npss snapshots created by the NetBeans IDE's Profile Me! feature
API Changes:
com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(application, preferredPosition) and ApplicationDescriptor.resolveApplicationName(application, applicationType) added
com.sun.tools.visualvm.coredump.CoreDumpsContainerDescriptor added
com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptor.getChildrenComparator(), DataSourceDescriptor.setChildrenComparator(comparator), DataSourceDescriptor.resolveName(dataSource, name) and DataSourceDescriptor.resolvePosition(dataSource, position, savePosition) added
com.sun.tools.visualvm.heapdump.HeapDumpSupport.supportsRemoteHeapDump(application) and HeapDumpSupport.takeRemoteHeapDump(application, dumpFile, customizeDumpFile) added
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
com.sun.tools.visualvm.host.LocalHostDescriptor.setChildrenComparator(comparator) added
com.sun.tools.visualvm.core.datasupport.Positionable.STRONG_COMPARATOR and Positionable.StrongPositionableComparator added
com.sun.tools.visualvm.host.RemoteHostDescriptor.setChildrenComparator(comparator) added
com.sun.tools.visualvm.host.RemoteHostsContainer made final (has only a private constructor anyway)
com.sun.tools.visualvm.host.RemoteHostsContainerDescriptor added
com.sun.tools.visualvm.core.snapshot.Snapshot.isInSnapshot() added
com.sun.tools.visualvm.core.snapshot.SnapshotDescriptor.<init>(snapshot, description, icon), SnapshotDescriptor.<init>(snapshot, name, description, icon, position, autoExpansionPolicy) and SnapshotDescriptor.resolveSnapshotName(snapshot) added
com.sun.tools.visualvm.core.snapshot.SnapshotsContainerDescriptor added
com.sun.tools.visualvm.core.ui.components.Spacer 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:
Fixed bugs: IssueTracker query.
Fixed bugs: IssueTracker query.
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.
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.