Th Java VisualVM automatically detects and connects to the Java Management Extensions (JMX) agents for Java applications that are running on JDK or that have been started with the correct system properties. For the tool to detect and connect to the agents on a remote machine, the jstatd daemon must be running on the remote machine, see The jstatd Daemon. If Java VisualVM cannot automatically discover and connect to JMX agents that are running in a target application, then the tool provides a means for you to explicitly create these connections.
- View a list of local and remote Java applications.
- View application configuration and runtime environment. For each
application, the tool shows basic runtime information: PID, host,
main class, arguments passed to the process, JVM version, JDK home,
JVM flags, JVM arguments, and system properties.
- Enable and disable the creation of a heap dump when a specified
application encounters an OutOfMemoryError exception.
- Monitor application memory consumption, running threads, and loaded
- Trigger a garbage collection immediately.
- Create a heap dump immediately. You can then view the heap dump in
several views: summary, by class, by instance. You can also save the
heap dump to your local file system.
- Profile application performance or analyze memory allocation (for
local applications only). You can also save the profiling data.
- Create a thread dump (stack trace of the application's active
threads) immediately. You can then view the thread dump.
- Analyze core dumps (with Oracle Solaris and Linux operating
- Analyze applications offline, by taking application snapshots.