VisualVM

Windows · Mac · Linux

Freedom report

Three barsScore 6.5

  • Free tierA free tier is on its own pricing page
  • Open codeNo open-source code on record
  • Runs widely3 of 6 device platforms
  • DocumentedPlans, terms and facts published

VisualVM is a free desktop tool for troubleshooting Java applications in development and production. It combines JDK command-line tools with monitoring and profiling to help examine CPU use, garbage collection, heap and metaspace memory, loaded classes, and running threads. Sampling and instrumentation profilers support performance and memory analysis. For deeper diagnosis, it can capture thread dumps, browse heap dumps, analyze core dumps, and save application data for offline review. It can list remote Java applications when jstatd is running on the remote host, or connect to them manually through JMX. Official and third-party plugins add capabilities, and can be installed through the Plugins Center or from downloaded files for offline use. VisualVM runs on Linux, macOS, and Windows and is distributed as a standalone tool, including a ZIP archive and macOS app bundle. Its download page lists Oracle JDK and OpenJDK 8–26 and GraalVM 19–JDK 26; the project says it should run using Oracle JDK 8 or newer.

Who it is for

VisualVM suits Java developers, system administrators, quality engineers, and end users who need to inspect application behavior. It is also relevant to teams that need remote-process connections, offline diagnostics, or profiling through supported IDE integrations.

What is good

  • Free plan for desktop use.
  • Monitors CPU, memory, garbage collection, classes, and threads.
  • Includes sampling and instrumentation profilers.
  • Supports thread, heap, and core dump analysis.
  • Runs on Linux, macOS, and Windows.

What to know first

  • Some third-party plugins may not work after VisualVM 2.0 changes.
  • Remote listing requires jstatd on the remote host.
  • The download page lists Java runtime compatibility requirements.

Verdict

VisualVM brings monitoring, profiling, and several diagnostic tools together for Java troubleshooting at no cost. Check runtime compatibility and plugin support needs before relying on a particular setup.

Get started with VisualVM

  1. Visit https://visualvm.github.io/.
  2. Open the download page and choose the ZIP archive or macOS application bundle.
  3. Use Oracle JDK 8 or newer to run VisualVM.
  4. Install plugins through the Plugins Center or use downloaded plugin files for offline installation.
  5. For remote applications, run jstatd on the remote host or connect manually through JMX.

Questions about VisualVM

How much does VisualVM cost?

The listed plan is 0.00 USD per free. VisualVM has a free plan and no free trial.

Which operating systems does VisualVM support?

It supports Linux, macOS, and Windows. It is distributed as a standalone tool, including a ZIP archive and a macOS application bundle.

Which Java versions are listed for compatibility?

The download page lists Oracle JDK 8–26, OpenJDK 8–26, and GraalVM 19–JDK 26. It says VisualVM should run using Oracle JDK 8 or newer.

Can VisualVM inspect remote Java applications?

Yes. It can list remote applications when jstatd runs on the remote host, or connect manually by JMX.

Who makes VisualVM, and what is its license?

The project is copyright Oracle Corporation and/or its affiliates and is released under GPLv2 with the Classpath Exception.

How can I get help or report a problem?

Users can contact developers and the community through Gitter, send private feedback by email, or report bugs through the linked issue tracker.

VisualVM plans and pricing

All plans
VisualVM Free Standalone Java troubleshooting tool · Windows, Linux, macOS · Java 8–26 visualvm.github.io · 29 Sept 2026

Compared on profiling software

Free plan
Yes
Profiling modes
both
Supported languages
Java, JavaScript, Python, Ruby, R
CPU profiling
Yes
Memory profiling
Yes
Thread profiling
Yes
Deployment model
desktop

Best VisualVM alternatives

See all 20