~/talk

Digging Into OpenSearch’s Memory: Lucene and JVM Garbage Collection Under the...

Talkat OpenSearchCon North America 2025 · 2025-09-08..09-10· [java]
slides:none on file

Indexing in OpenSearch generates a storm of short‑lived Lucene objects that drive frequent young GCs, high promotion rates and wasted heap; attaching visual VM + docker compose to a three‑node test cluster and running OpenSearch Benchmark reveals GC counts near 1,000 and object byte‑array lives dropping from ~500k to 15k when enabling UseStringDeduplication, cutting object heap from ~70% to under 50%. Practical levers shown: tweak G1UseAdaptiveIHOP and G1NewSizePercent/G1MaxNewSizePercent, split JVM/native memory ~50/50, and consider generational ZGC for very large heaps.

AI-written summary · about

  1. 0:00Introduction
  2. 1:25OpenSearch memory overview
  3. 2:08JVM heap vs native memory
  4. 3:32Lucene memory settings
  5. 4:54Lucene refresh vs flush
  6. 5:17Native memory and file cache
  7. 6:46Memory mapping and HNSW
  8. 7:51Inspecting memory mapping
  9. 8:56Monitoring clusters
  10. 9:59Lucene internals resources
  11. 10:21Lucene indexing and memory
  12. 11:47Reducing Lucene churn
  13. 12:32JVM heap patterns
  14. 13:14VisualVM with Docker
  15. 14:18OpenSearch test cluster
  16. 15:43OpenSearch Benchmark
  17. 16:49Preparing Benchmark tests
  18. 18:12Java GC basics
  19. 19:17G1 GC overview
  20. 20:27Generational garbage collection fundamentals
  21. 20:48Compressed pointers impact
  22. 22:17GC pauses trade-offs
  23. 23:25Object lifetimes hypothesis
  24. 24:11Adaptive IHOP in G1
  25. 25:35String duplication tuning
  26. 28:47Disabling adaptive IHOP
  27. 29:35OpenSearch G1 defaults
  28. 30:38Adaptive GC sizing
  29. 32:04OpenSearch 3.2 features
  30. 33:32ZGC in OpenSearch 3.2
  31. 34:35Project roadmap
  32. 35:16Q&A
~/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.