Humio runs on the Java Virtual Machine (JVM). In this section we briefly describe things you should consider when selecting and configuring the JVM for Humio.
Humio runs on feature version 9 or 11 of a few well known JVM distributions. It may function perfectly well on others, however we recommend one of these:
||Azul Systems OpenJDK 9 Zulu certified build|
||Oracle OpenJDK 9|
||AdoptOpenJDK.net OpenJDK 9 (HotSpot)|
||Oracle Java SE 11|
||Oracle OpenJDK 11|
||Azul Systems OpenJDK 11 Zulu certified build|
||AdoptOpenJDK.net OpenJDK 11 (HotSpot)|
We develop and run Humio using the Azul provided Zulu JVM version 11 and find it to be a stable well maintained OpenJDK distribution.
Here are some sample configurations. We have seen good results running the G1 collector in production here shown with a 10GiB heap. This configuration works on Java 9 or 11.
java -server -Xms10g -Xmx10g -XX:+AlwaysPreTouch -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:+DisableExplicitGC
At this time we recommend using the Garbage First collector in production (
G1GC), however as of Java 12 there will be two fully concurrent, non-generational collectors with excellent potential for Humio workloads:
* Z Garbage Collector included with most OpenJDK 11 builds and
* ShenandoahGC included on RedHat or available for download here.
To use these collectors replace
-XX:+UseG1GC with either
-XX:+UseShenandoahGC and be sure to include