Want to learn more about the JDK's serviceability tools?
Tools
The JDK includes numerous diagnostic and troubleshooting tools. Learn some of things you can do with them below.
You can also refer to the JDK Tools Specifications and Reference Guides for more information:
- JDK 25 Tool Specifications
- JDK 21 Tool Specifications
- JDK 17 Tool Specifications
- JDK 11 Tools Reference
- JDK 8 Tools and Utilities
Control + Break Handler
Java Flight Recorder (JFR)
jcmd
- How to Check Which Version(s) of Java are Installed or Running
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or from a Core File of a Java Process on Linux
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or from a Core File of a Java Process on macOS
- How to Troubleshoot 'java.lang.OutOfMemoryError Metaspace' Errors
- Troubleshooting Memory Leaks
- jcmd Tutorial on Oracle LiveLabs
JConsole
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or Core File of a Java Process on Windows
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or from a Core File of a Java Process on Linux
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or from a Core File of a Java Process on macOS
- Introduction to Memory Pools
- Troubleshooting Memory Leaks
jhsdb
JDK Mission Control (JMC)
jstack
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or Core File of a Java Process on Windows
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or from a Core File of a Java Process on Linux
- How to Obtain a Thread Dump (Stack Traces) from a Java Process or from a Core File of a Java Process on macOS
- How to Troubleshoot Performance Problems Due to High CPU Utilization by a Java Application Thread
- Troubleshooting Process Loops and Hangs
Keytool
- X.509 Certificate Structure and Analysis Methods
- Expired X.509 Certificates
- How to Use the JDK's keytool Utility on Oracle LiveLabs
Native Memory Tracking (NMT)
- How to Troubleshoot 'java.lang.OutOfMemoryError Metaspace' Errors
- Introduction to Memory Pools
- Troubleshooting Memory Leaks
pmap
- Java crashes with message 'Native memory allocation (mmap) failed to map nnnnnnn bytes for committing reserved memory.'
- Troubleshooting Memory Leaks