A Glance At The Java Performance Toolbox
summary
Shows how to use JDK tools — jcmd, jconsole, jstat, jmap, jfr — to diagnose a live Spring Boot service in a container and how to stream JFR events to Prometheus/Grafana. Builds a restricted runtime with jlink-built custom JRE, enables native memory tracking and collects jcmd baseline/diff, jstat GC samples and JFR recordings. Demonstrates a real memory leak caused by using a mutable object as a Map key; JFR pinpoints the stack frame and the fix stops the leak and stabilizes GC behavior.
AI-written summary · about
chapters (11)
- 0:00Java Performance Toolbox intro
- 2:11Choosing container image builder
- 3:37Minimal Java images with jlink
- 9:00Spring Boot to-do setup
- 13:15Detecting memory leaks
- 19:18jcmd and JConsole diagnostics
- 20:40JVM monitoring with jstat/jmap
- 25:25Profiling with JDK Flight Recorder
- 31:11JVM events to Prometheus/Grafana
- 36:30Custom JFR events in Spring Boot
- 37:57Q&A
related talks
40mA Glance At The Java Performance Toolbox
43mA Glance At The Java Performance Toolbox
42mProfiling and monitoring with the JDK
30mMonitoring Java Application Security with JDK Tools and Event...
31mJava Mission Control: To Infinity and Beyond…
50mJPoint 2023 TechRadar: Performance Tools
45mUnder the Hood of a JVM Application - Java Flight Recorder / Java Mission Control
51mThe Power of JDK Flight Recorder: Efficient Profiling and Troubleshooting for Java Applications