JVM Heap space recommendation on 7.11.2

Hi, am planning to upgrade elastic from v7.5 to v7.11.2. We currently have heapspace settings in jvm.options using the Xmx and Xms settings, and we do use the OpenJDK that comes with the product. Is the recommendation always to use the "automatic heap adjustement" that comes out of box with elastic, or override them manually through the jvm.options.d file?

I want to make sure that we don't cause any JVM outages if we rely on the automatic heap adjustments from elastic, if we know we have room to increase by manually overiding the setting.


What sort of outages are you referring to here?

Running out of memory (OOM) exceptions, that we have seen recently in prod with the current v7.5. And we do have the Xms/x settings in jvm.options.

If you are looking to upgrade to prevent these that's a good step, however looking at the root cause of them is a much better idea.

Yes, we are certainly looking into all aspects of fixing any shortcomings in the configurations. One of the concerns mentioned by elastic support was the circuit breaker bugs in v7.5 (esp. coordination & ingest nodes) which were fixed in 7.10 and above. However, I'm not entirely sure still if it's recommended to us the "automatic heap adjustment" feature in the newer JDK or rather just set the Xmx/Xmx and so thought to get an opinion here before I reach out to support.


Automatic heap adjustment happens on startup, it's not a constant thing once the JVM has initialised.

Personally, I would suggest it's useful for dev environments, but not for production.

Ah ok, that's good to know. It's misleading as the documentation says "We recommend this default sizing for most production environments". Thanks for the input, it helps.

It's not misleading, like I said that's my personal preference.

Got it. Thanks Mark.