Our elasticsearch processes have been slowly consuming memory until a kernel 
OOM kills it.  Details are here:

    https://github.com/elastic/elasticsearch/issues/26269 
<https://github.com/elastic/elasticsearch/issues/26269>

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!

--
Erik

Reply via email to