Aikar's Flags: JVM und RAM richtig einstellen
Aktualisiert im September 2026 · Mehr RAM ist nicht automatisch schneller. Die richtigen Flags und die passende Heap-Größe zählen mehr als die Zahl im Tarif.
Wofür die Flags da sind
Ein Minecraft-Java-Server läuft in der Java Virtual Machine (JVM). Alle paar Sekunden räumt die JVM per Garbage Collection (GC) auf: Sie gibt Speicher frei, den der Server nicht mehr braucht. Ist die GC schlecht eingestellt, hält sie den ganzen Server kurz an – das merkst du als regelmäßige Lag-Spikes, selbst wenn die TPS im Schnitt gut aussehen.
Aikar’s Flags sind JVM-Startoptionen von Aikar, einem langjährigen Paper-Mitentwickler. Sie stimmen den G1-Garbage-Collector darauf ab, wie Minecraft Speicher nutzt: viele kurzlebige Objekte, die in jedem Tick neu entstehen. Die Paper-Dokumentation empfiehlt sie als Standard, und sie funktionieren auch für Vanilla, Fabric und Forge.
Die Flags
Für Server mit bis zu 12 GB Heap:
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:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar --nogui
Bei mehr als 12 GB änderst du diese fünf Werte:
| Flag | Bis 12 GB | Über 12 GB |
|---|---|---|
G1NewSizePercent |
30 | 40 |
G1MaxNewSizePercent |
40 | 50 |
G1HeapRegionSize |
8M | 16M |
G1ReservePercent |
20 | 15 |
InitiatingHeapOccupancyPercent |
15 | 20 |
Ersetze server.jar durch deine Server-Datei und 10G durch deine Heap-Größe.
Xms und Xmx: gleich setzen
-Xmxist der maximale Heap, den der Server nutzen darf.-Xmsist der Heap, mit dem er startet.
Aikar empfiehlt, beide auf denselben Wert zu setzen. Dann holt sich der Server seinen Speicher einmal beim Start, statt ständig zu wachsen und zu schrumpfen, und AlwaysPreTouch sorgt dafür, dass der Speicher auch wirklich da ist.
Wie viel Heap du geben solltest
Hier passieren die meisten Fehler.
Gib der JVM nicht den gesamten Speicher des Rechners oder Tarifs. Java braucht auch Speicher außerhalb des Heaps: für Threads, geladene Klassen, native Bibliotheken und das Netzwerk. Ist der Heap so groß wie der gesamte Speicher, beendet das Betriebssystem oder der Container den Prozess, sobald dieser zusätzliche Speicher gebraucht wird. Du siehst dann einen plötzlichen Crash ohne Java-Fehlermeldung.
Lass etwas Luft. Wie viel, hängt vom Server und seinen Plugins oder Mods ab; auf einem Rechner zu Hause ist etwa ein Gigabyte ein üblicher Startwert. Viele Hoster stellen das automatisch für dich ein; wenn du die Startflags selbst bearbeitest, prüfe vorher, wie dein Hoster den Heap berechnet.
Mehr ist nicht immer besser. Ein Vanilla-Server mit fünf Freunden hat nichts von 16 GB. Ein größerer Heap heißt nur, dass die Garbage Collection jedes Mal mehr aufräumen muss. Gib so viel, wie der Server wirklich braucht – die Zahlen findest du unter wie viel RAM ein Minecraft-Server braucht.
Anzeichen für falsches RAM oder falsche Flags
| Symptom | Wahrscheinliche Ursache |
|---|---|
| Lag-Spikes alle paar Sekunden oder Minuten, TPS sonst gut | GC-Pausen; keine oder veraltete Flags |
| „OutOfMemoryError“ im Log | Heap zu klein für die Welt oder das Modpack |
| Server stirbt ohne Fehlermeldung | Heap zu nah am Gesamtspeicher |
| Speicherauslastung im Panel immer fast bei 100 % | Normal mit Xms = Xmx und AlwaysPreTouch – kein Problem |
Der letzte Punkt verwirrt viele. Mit diesen Flags reserviert die JVM beim Start den kompletten Heap, deshalb wirkt der Speicher ab der ersten Minute voll. Entscheidend ist, wie der Server läuft, nicht die Speicherkurve.
GC mit spark prüfen
Installiere das Plugin oder den Mod spark und führe /spark health oder eine Profiler-Sitzung aus. Du siehst, wie lange und wie oft die Garbage Collection läuft. Kurze, regelmäßige Durchläufe sind gesund. Lange Pausen von mehreren hundert Millisekunden deuten auf einen Heap hin, der zu klein, zu groß oder nicht abgestimmt ist.
Java-Version
Nutze die Java-Version, die deine Minecraft-Version braucht; Minecraft 1.20.5 und neuer brauchen mindestens Java 21. Neuere Java-Versionen bringen auch neuere Garbage Collectors mit. Aikar’s G1-Flags bleiben die sichere Standardwahl; wechsle nur, wenn du weißt warum und den Unterschied messen kannst.
Wann Flags nicht helfen
Flags glätten Speicherpausen. Zu viele Entities, riesige Redstone-Clocks oder Chunk-Generierung beheben sie nicht. Zeigt spark, dass die Zeit ins Ticken der Welt fließt statt in die GC, geht es weiter mit Lag beheben: TPS und MSPT erklärt. Und falls du dein Setup noch auswählst: Minecraft-Server erstellen erklärt zuerst die Grundlagen.