~/talk

Solving Memory Leaks in the JVM

Talkat Devoxx Belgium 2019 · 2019-11-04..11-08· [java]
slides:none on file

Shows how a JVM leak looks in logs and in practice: GC logging and VisualVM reveal heap occupancy rising (one example loses ~1 GB/day), allocation profiling uses jcmd / jmap and the JFluid generational counts technique to pin the leaking class, and heap analysis with heap dump + dominator tree (MAT/LeakSuspects) exposes a static collection-of-collections holding thousands of objects. A demo reproduces the bug (30 GB heap tools took ~2 hours), a code fix moves loading off the per-request path, and postfix testing confirms the leak stops.

AI-written summary · about

  1. 0:00Introduction
  2. 0:28Inspiration
  3. 2:17Technology
  4. 3:52Memory Leak
  5. 5:07Unmanaged Memory
  6. 5:36Native Memory Leak
  7. 6:52Java Heap
  8. 7:42On Demand Allocation
  9. 8:42Heap Allocation
  10. 12:47String Class
  11. 14:47Object Header
  12. 18:57Scan for Routes
  13. 21:47Memory Leaks
  14. 32:37Testing
  15. 39:07Manage Memory Revisited
  16. 40:02Hines Memory Leaks
  17. 44:32JMap with Histogram
  18. 45:44JMap with Leaks
  19. 46:17J Command Help
  20. 46:52Character Array
  21. 47:20Memory Leak Class
  22. 48:51Diagnostic Mechanism
  23. 49:51Test
  24. 50:50Questions
  25. 57:47Anatomy of a leak
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.