Profiling

JVM Profilers & Performance Analysis Tools

When a Java service is slow, a profiler tells you where the CPU time and allocations actually go instead of wherever a hunch points. Modern JVM profiling has largely converged on two complementary techniques: sampled async profiling (async-profiler) and events recorded by the JVM itself (Java Flight Recorder).

This hub compares the practical options — from the free, bundled and open-source tools to the commercial IDEs — and links to real quick-starts for the ones that matter most.

What you'll find here: Start here with async-profiler for CPU & allocation flame graphs · Use Java Flight Recorder (JFR) for zero-overhead, always-on recording · Open JFR recordings and thread dumps in JDK Mission Control · Compare VisualVM, YourKit and IDE-integrated profilers

Profiling tools

In-depth guides in this category