Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy-to-use performance and memory .NET profiler for Windows, Linux and macOS.
Secure and easy profiling in cloud, containers and clustered environments.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

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.

System requirements

The supported operating systems and Java versions are described in the system requirements.

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.