Home

VisualVM

VisualVM is an open-source visual tool for monitoring, troubleshooting, and profiling Java applications. It provides a unified interface to view local and remote Java Virtual Machines (JVMs) and combines several command-line JDK tools into a single product. VisualVM is built on the NetBeans Platform and is distributed with some Java Development Kit releases as well as available as a standalone download from the VisualVM project.

Key features include real-time monitoring of CPU and memory usage, garbage collection activity, and thread activity.

VisualVM supports remote monitoring and profiling through various mechanisms, including Java Management Extensions (JMX) and the

Originating from Sun Microsystems and now maintained by Oracle and the community, VisualVM integrates with the

It
can
attach
to
running
JVMs
to
collect
data,
take
heap
dumps,
and
analyze
memory
consumption
for
leak
detection.
VisualVM
supports
CPU
and
memory
profiling,
offering
both
sampling
and
instrumentation
modes.
Sampling
incurs
lower
overhead,
while
instrumentation
provides
detailed
method-level
data.
The
tool
can
display
memory
histograms,
live
graphs,
and
heap
dump
analysis
to
help
identify
performance
bottlenecks
and
inefficient
code
paths.
Attach
API,
enabling
analysts
to
connect
to
remote
JVMs
with
appropriate
permissions.
Its
functionality
is
extended
by
plugins,
enabling
additional
analyzers,
visualizations,
and
compatibility
with
specific
frameworks
or
application
servers.
VisualVM
is
cross-platform,
running
on
Windows,
macOS,
and
Linux.
broader
Java
tooling
ecosystem.
It
is
commonly
used
by
developers
and
operators
to
diagnose
performance
issues,
optimize
memory
usage,
and
gain
insight
into
application
behavior
during
development
and
in
production
environments.