- System requirements
- Profiler architecture
- Running the profiler
- Profiler activation
- Start profiling
- Solving performance problems
- CPU profiling
- Threads
- Deadlock detector
- Memory profiling
- Garbage collection
- Monitor profiling
- Exception profiling
- Probes: monitor events of various kinds
- Performance Charts
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Summary, snapshot annotation, automatic deobfuscation
- Time measurement (CPU time, wall time)
- Filters
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler Java API
- Profiler HTTP API
- Command line tool to control profiling
- Settings
- FAQ: How to profile in my scenario?
System requirements
YourKit Java Profiler consists of two parts: the profiler UI (a desktop application) and the profiler agent, which loads into the profiled Java Virtual Machine (JVM).
The requirements to the profiler UI are stricter: it must run on a 64-bit OS, while the profiler agent is available for 64-bit and, on some platforms, 32-bit JVMs.
Supported Java versions
YourKit Java Profiler supports profiling of the following Java 8 - Java 19 JVMs:
- OpenJDK, including builds from:
- AdoptOpenJDK
- Amazon Corretto
- Azul Zulu
- BellSoft Liberica JDK
- JetBrains
- Microsoft
- Oracle
- Red Hat
- SapMachine
- Oracle JDK
- IBM JDK and OpenJ9
Supported operating systems
YourKit Java Profiler UI is a 64-bit desktop application, it needs a 64-bit operating system to run. The 64-bit agent is available on all supported operating systems. On some operating systems the 32-bit agent is also available.
Windows
x86-64, ARM 64-bit (UI and agent), and x86 (agent only):
- Windows 11, Windows Server 2022
- 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
Linux
- x86 (agent only)
- x86-64 aka x64
- ARM 64-bit (AArch64)
- ARM 32-bit (ARMv7 and higher, hard-float, agent only)
- ppc64/ppc64le
glibc version 2.12 and higher
macOS
- x64, macOS Mojave 10.14 and newer
- arm64 aka Apple silicon or M1, macOS Big Sur 11.2.1 and newer
AIX
- ppc64, AIX 7.1 TL5 and newer
FreeBSD
- x86-64, FreeBSD 12 and newer. 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.