~/talk

Memory footprint of a Java process

Talkat Devoxx Belgium 2019 · 2019-11-04..11-08· [java, linux-and-operating-systems]
slides:none on file

Xmx=4g does not guarantee a 4 GB RSS; Linux lazy commit means Xms can be unbacked until -XX:+AlwaysPreTouch touches pages, and the JVM adds sizeable native pools: compressed class space defaults to 1GB, default thread stack is 1MB and 500 threads can cost hundreds of MB. Use top/pmap, jcmd native memory tracking (NMT ~5–10% overhead), async-profiler and jemalloc's profiler to find 64 MB malloc arena fragmentation, unclosed zip/input streams causing mmap leaks, and logger-driven page-cache growth — jemalloc fixed fragmentation in production.

AI-written summary · about

  1. 0:00Start
  2. 1:00Containerized applications
  3. 1:55Java & resource limits
  4. 2:52Container support?
  5. 4:01Footprint of a Java process
  6. 6:28Native Memory Tracking
  7. 8:56Java Heap & GC
  8. 10:22GC memory overhead
  9. 11:27Heap size
  10. 13:38Adaptive size policy
  11. 15:11Uncommit: G1
  12. 15:40Uncommit: Shenandoah
  13. 18:18ClassLoader statistics
  14. 19:00Metaspace tuning
  15. 20:12Compiler
  16. 21:52Tiered Compilation
  17. 23:35Monitoring
  18. 24:38Thread stack
  19. 25:49Native Memory: Symbols
  20. 26:08Symbol tables stats
  21. 27:05What's this?
  22. 27:59Direct Byte Buffers
  23. 31:28Is Heap ByteBuffer better?
  24. 34:06Native memory leak
  25. 34:45Memory map
  26. 36:56Alternative allocators
  27. 37:58jemalloc profiler
~/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.