[[heap-size-settings]]
[discrete]
==== Heap size settings

By default, {es} automatically sets the JVM heap size based on a node's
<<node-roles,roles>> and total memory.
We recommend the default sizing for most production environments.

NOTE: Automatic heap sizing requires the <<jvm-version,bundled JDK>> or, if using
a custom JRE location, a Java 14 or later JRE.

If needed, you can override the default sizing by manually
<<set-jvm-heap-size,setting the JVM heap size>>.
