-
-
Save kuzetsa/cdfeece0064db78d30b0 to your computer and use it in GitHub Desktop.
JvmArgs=-Djava.net.preferIPv4Stack=true -server -XX:+UnlockExperimentalVMOptions -XX:CompileThreshold=752253 -XX:+TieredCompilation -XX:+UseStringCache -XX:+OptimizeStringConcat -XX:+UseBiasedLocking -Xnoclassgc -XX:+UseFastAccessorMethods -XX:+UseCompressedOops -XX:+UseG1GC -XX:NewSize=624m -XX:MaxNewSize=624m -XX:MaxGCPauseMillis=5 -XX:G1HeapRegionSize=128k -XX:G1HeapWastePercent=8 -XX:InitiatingHeapOccupancyPercent=69 -XX:SurvivorRatio=71 -XX:TargetSurvivorRatio=85 -XX:MaxTenuringThreshold=6 -XX:MaxHeapFreeRatio=11 -XX:MinHeapFreeRatio=7 -XX:ParallelGCThreads=2 -XX:ConcGCThreads=1 |
OLDER VERSION (v5)
{obsolete settings}
Java Arguments:
[-Djava.net.preferIPv4Stack=true, -server, -XX:+UnlockExperimentalVMOptions, -XX:CompileThreshold=752253, -XX:+TieredCompilation, -XX:+UseStringCache, -XX:+OptimizeStringConcat, -XX:-UseBiasedLocking, -Xnoclassgc, -XX:+UseFastAccessorMethods, -XX:+UseCompressedOops, -XX:+UseG1GC, -XX:NewSize=384m, -XX:MaxNewSize=384m, -XX:MaxGCPauseMillis=5, -XX:G1HeapRegionSize=128k, -XX:G1HeapWastePercent=8, -XX:InitiatingHeapOccupancyPercent=69, -XX:SurvivorRatio=71, -XX:TargetSurvivorRatio=85, -XX:MaxTenuringThreshold=6, -XX:MaxHeapFreeRatio=31, -XX:MinHeapFreeRatio=29, -XX:ParallelGCThreads=31, -XX:ConcGCThreads=17, -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump, -Xms3333m, -Xmx3333m, -XX:PermSize=317m, -Duser.language=en, -jar, C:/Clever_Minecraft_Things/MultiMC/jars/NewLaunch.jar]
OLDER VERSION (v4)
{obsolete settings}
JvmArgs=-Djava.net.preferIPv4Stack=true -XX:+UseStringCache -XX:+OptimizeStringConcat -XX:NewSize=2g -XX:MaxNewSize=2g -XX:+UseG1GC -XX:CompileThreshold=1500 -XX:-TieredCompilation -XX:TargetSurvivorRatio=95 -XX:SurvivorRatio=5 -XX:MaxTenuringThreshold=15 -XX:+UnlockExperimentalVMOptions -XX:-UseBiasedLocking -Xnoclassgc -XX:+UseFastAccessorMethods -XX:+UseCompressedOops
Java Arguments:
[-Djava.net.preferIPv4Stack=true, -XX:+UseStringCache, -XX:+OptimizeStringConcat, -XX:NewSize=2g, -XX:MaxNewSize=2g, -XX:+UseG1GC, -XX:CompileThreshold=1500, -XX:-TieredCompilation, -XX:TargetSurvivorRatio=95, -XX:SurvivorRatio=5, -XX:MaxTenuringThreshold=15, -XX:+UnlockExperimentalVMOptions, -XX:-UseBiasedLocking, -Xnoclassgc, -XX:+UseFastAccessorMethods, -XX:+UseCompressedOops, -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump, -Xms4864m, -Xmx4864m, -XX:PermSize=512m, -Duser.language=en, -jar, C:/Clever_Minecraft_Things/MultiMC/jars/NewLaunch.jar]
There might be some kind hardcoded upper limit to MaxTenuringThreshold which causes any value larger than 15 to be treated as "infinity" and breaks things when this occurs...
Probably not an optimal design decision on the part of the JVM developers, but I'm not an expert on JVMs so not really going to discuss this specifically...
Learned some more info about how the ratios work, and how to better make use of the eden / survivor space...
I don't know how to explain it though, just know that I made some empirical observations and when I was researching I came across some jargon-heavy explanations about how it all works.
I wish I could say more without sounding like I'm fumbling around in the dark without a clue here, but that's pretty close to how it actually is so I'll just update this gist with v4 now O_O
This is commentary for the most up-to-date version (v6)
Goals currently met:
(except when the "stop-the-world" garbage collections occur VERY RARE!!! ... really, it could be hours or even never, assuming you allocated enough ram.)
Note:
There are some specific things (which I was previously NOT doing) in G1 which are unrelated to how things work in some of the older garbage collectors...
Latest version of these settings throws tons of ram at the latency problems until the issues [mostly] go away. Example: eventually if you play for long enough, a full "stop-the-world" garbage collection could eventually occur. (orders of magnitude more likely if you're playing a modpack with hundreds of mods)
Resources:
it has "GC" in the name because it helps troubleshoot and monitor garbage collector activity
VisualGC IS A MUST-HAVE!!!!!1one)