Minecraft Startup Flag Generator

Easily configure your Minecraft spigot and paper server startup flags.

Server Jar

Server RAM (GB)

Flag Type

Generated Script

What does this script mean?

Flag
-XX:+UseG1GC
This turns on the Java G1 garbage collector.
-XX:+ParallelRefProcEnabled
This optimizes the garbage collector so it can use multiple threads for weak reference checking.
-XX:MaxGCPauseMillis=200
This tells the JVM to delay the max garbage collection time of 200 milliseconds. This helps as long pauses for garbage collection will interfere with your server's performance.
-XX:+UnlockExperimentalVMOptions
This enables the experimental JVM scripts that have been tested by thousands of servers.
-XX:+DisableExplicitGC
This disables the System.gc() method call which prevents plugins from explicitly calling the GC.
-XX:+AlwaysPreTouch
This allocates all of the RAM for the server on startup so this prevents incremental allocations during runtime impacting performance.
-XX:G1NewSizePercent=30
This gives the GC more room to space and results in less GC cycles preventing lag.
-XX:G1MaxNewSizePercent=40
This gives the GC more room to space and results in less GC cycles preventing lag.
-XX:G1HeapRegionSize=8M
This sends fewer objects to the old gen so there is less time spent cleaning up old gen memory.
-XX:G1ReservePercent=20
This allows more space for memory to move around.
-XX:G1HeapWastePercent=5
Sets the percentage of heap that you are willing to get rid of.
-XX:G1MixedGCCountTarget=4
This tells the JVM to reclaim old gen.
-XX:InitiatingHeapOccupancyPercent=15
Sets the Java heap occupancy threshold that triggers a marking cycle.
-XX:G1MixedGCLiveThresholdPercent=90
This sends fewer objects to the old gen so less time is spent cleaning up old gen memory.
-XX:G1RSetUpdatingPauseTimePercent=5
Reduces the GC pause durations.
-XX:SurvivorRatio=32
Minimises the survivor space as MaxTenuringTheshold was increased.
-XX:+PerfDisableSharedMem
Prevents the GC from writing to the file system as file system IO may take a very long time so we disable it.
-XX:MaxTenuringThreshold=1
This slows down the collection of longer lived memory to therefore decrease pause times and improve performance.
-Daikars.new.flags=true
This notifies Paper timings system you are using Aikar's scripts.
-Dusing.aikars.flags=https://mcflags.emc.gs
This notifies Papers timing system that you are using Aikar's scripts.

Get Started Now

Monitor your Minecraft servers growth with our Minecraft Analytics solution, completely free for 14 days.