Aikar's Flags: beste JVM-instellingen Minecraft

Java's standaard garbage collector is niet geoptimaliseerd voor Minecraft-servers. Aikar's flags configureren de G1 garbage collector om lag-pieken door garbage collection-pauzes te minimaliseren. Ze zijn de standaard voor elke Paper- en Spigot-server.

De flags

java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1 -jar server.jar --nogui

Vervang 10G door jouw toegewezen RAM (bijv. 4G, 8G, 16G).

Waarom Xms gelijk moet zijn aan Xmx

-Xms is de initiele heap-grootte. -Xmx is het maximum. Wanneer ze verschillen, besteedt Java tijd aan het vergroten van de heap onder belasting, wat lag-pieken veroorzaakt. Ze gelijk zetten dwingt Java om al het geheugen bij het opstarten toe te wijzen, waardoor resize-pauzes worden geelimineerd.

Wat de belangrijkste flags doen

  • UseG1GC: schakelt over van de standaard garbage collector naar G1, die beter omgaat met grote heaps.
  • MaxGCPauseMillis=200: vertelt G1 om pauzes onder 200 ms te houden. Het lukt niet altijd, maar het probeert.
  • G1NewSizePercent=30 / G1MaxNewSizePercent=40: wijst 30 tot 40% van de heap toe aan nieuwe objecten. Minecraft maakt veel kortlevende objecten aan (chunks, pakketten, entitydata).
  • AlwaysPreTouch: reserveert alle geheugenpagina's bij het opstarten. Voorkomt dat het OS ze pas toewijst tijdens het spelen.
  • DisableExplicitGC: voorkomt dat plugins System.gc() aanroepen, wat volledige GC-pauzes veroorzaakt.
  • SurvivorRatio=32: grote survivor-ruimte om objecten langer in de jonge generatie te houden voordat ze worden gepromoveerd.
  • MaxTenuringThreshold=1: promoveert objecten naar de oude generatie na slechts een GC-cyclus. Minecraft-objecten zijn of zeer kortlevend of permanent.

Hoe in te stellen

In het HostValues-gamepanel: ga naar Startup, zoek het veld Java Arguments en plak de flags (zonder java en -jar server.jar; het panel voegt die toe). Op een VPS: bewerk je startscript.

Voor servers met 12 GB+ RAM

Als je 12 GB of meer hebt, wijzig dan een instelling:

-XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50

Dit geeft meer ruimte voor nieuwe objecten, wat voordelig is voor grote servers met veel spelers.

Werken Aikar's flags met Fabric of Forge?

Ja. De flags configureren de JVM, niet de serversoftware. Ze werken met Paper, Spigot, Fabric, Forge en NeoForge.

Kunnen deze flags TPS-problemen oplossen?

Ze lossen lag-pieken op die veroorzaakt worden door garbage collection, herkenbaar als periodieke bevriezingen (elke 30 tot 60 seconden). Ze lossen geen TPS-problemen op die worden veroorzaakt door plugins, redstone of te veel entities.

Zijn er betere flags voor Java 25?

Aikar's flags werken goed op Java 25. Sommige serverbeheerders experimenteren met ZGC (-XX:+UseZGC), dat sub-milliseconde pauzes belooft. ZGC is het testen waard op 16 GB+ servers, maar G1 met Aikar's tuning blijft de bewezen standaard.

Stel JVM-flags in op elk Minecraft-pakket bij HostValues via het Startup-tabblad.


Komt u er niet uit? Open een support ticket, ons team helpt u graag verder.

Terug naar de blog