lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Stephens <>
Subject How to regulate native memory?
Date Thu, 31 Aug 2017 01:58:30 GMT
Our elasticsearch processes have been slowly consuming memory until a kernel OOM kills it.
 Details are here: <>

To summarize:

- Explicit GC is enabled
- MaxDirectMemorySize is set
- Total memory usage for the process is roughly heap (30G) + mmap'd (unbounded) + 1-2G (meta
space, threads, etc)

The crowd is suggesting "Don't worry. You want to use all that memory."  I understand that
sentiment except for:

- The process eventually gets OOM killed.
- I need to support multiple processes on same machine and need a more predictable footprint.

It seems to be relatively common knowledge that direct byte buffers require a GC to trigger
their freedom.  However, full GC's are happening but not resulting in a reduction of resident
mmap'd memory.

Any pointers to source code, settings, or tools are much appreciated.  Thanks!


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message