Fully featured low overhead profiler for Java EE and Java SE platforms.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.
Easy to use performance and memory profiler for .NET Framework.

Running applications with the profiler

Local and remote profiling

The profiled application and the profiler can run on the same machine or on different machines.

These modes are called local profiling and remote profiling respectively.

The profiler agent

To profile a Java application, be it local or remote, the profiler agent should be loaded into the JVM.

Approach 1: Start JVM with the profiler agent

This approach is recommended as it provides the full set of profiling capabilities. To learn how to apply it, see appropriate subtopic:

Approach 2: Attach the profiler to a running JVM instance started without the agent

Attaching the profiler agent to a running JVM instance simplifies profiling, as it avoids a special step to enable profiling: any running Java application can be profiled on demand.

However, attaching to a running JVM is not always possible, and some profiling features are not available.

Read more about attach.

Supported JVMs

Supported Java versions: Java 7, Java 8, Java 9, Java 10, Java 11, Java 12, Java 13, Java 14.

Supported JDKs:

  • Oracle JDK
  • OpenJDK, including builds from:
    • AdoptOpenJDK
    • Amazon Corretto
    • Azul Zulu
    • BellSoft Liberica JDK
    • JetBrains
    • Oracle
    • Red Hat
    • SapMachine
  • IBM JDK and OpenJ9

Supported platforms


  • AIX, 32-bit Java (ppc) and 64-bit Java (ppc64)


  • FreeBSD 9 and newer, i386 and amd64 (aka x86-64). Limitation: CPU profiling will always measure wall time and thread telemetry will show the same CPU time - the process CPU time - for all threads, because FreeBSD cannot measure per-thread CPU time.


  • HP-UX IA64, 32-bit and 64-bit Java


Linux, 32-bit Java and 64-bit Java:

  • x86/x86-64
  • ARM, hard float
  • ppc/ppc64/ppc64le


  • macOS 10.9 and newer, Intel, 64-bit Java


  • Solaris 10 and newer, x86, 32-bit and 64-bit Java
  • Solaris 9 and newer, SPARC, 32-bit and 64-bit Java


32-bit Java (x86) and 64-bit Java (x86-64):

  • Windows 10, Windows Server 2016, Windows Server 2019
  • Windows 8.1, Windows Server 2012 R2
  • Windows 8, Windows Server 2012
  • Windows 7, Windows Server 2008 R2

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By browsing our website, you consent to our use of cookies and other tracking technologies in accordance with the Privacy Policy.