I love tweaking stuff to get the most out of them. I have multiple servers with little money, so you can see why I’d want to optimize them.
My java args are:
-Dfile.encoding=UTF8 -Dfml.queryResult=confirm -d64 -server -XX:+AggressiveOpts -XX:ParallelGCThreads=3 -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions -XX:+UseParNewGC -XX:+ExplicitGCInvokesConcurrent -XX:MaxGCPauseMillis=10 -XX:GCPauseIntervalMillis=50 -XX:+UseFastAccessorMethods -XX:+OptimizeStringConcat -XX:NewSize=84m -XX:+UseAdaptiveGCBoundary -XX:NewRatio=3 -Dfml.readTimeout=90 -Ddeployment.trace=true -Ddeployment.log=true -Ddeployment.trace.level=all
I have 8GB ram and a 4.2Ghz 4 Core CPU.
I also clear the ram every hour. My modded server usually uses 2GB from the start, and vanilla uses 1GB then gets up to 2 before restart.
Other services I run: Apache webserver, Discourse, IRC sometimes, and 1 small sized Discord bot.
Does anyone have any tweaks for Debian, MineOS, Minecraft, or anything else to reduce ram or increase performance? I also read somewhere that MineOS and the servers under it only use one core. If that’s true, how would I go about fixing that?
P.S. I’m not sure what to categorize this as.
If you’re interested in Java tweaks, I recommend this page here as a read:
“Optimize Java for MineCraft in a EXTREME way”
Some of these posts are mine, the last one is a bukkit developer. While you may or may not be running bukkit/other custom non-vanilla servers, the conversation within remains relevant, as it is all about Java flags and tweaks, still.
It’s easy to read a little bit online and see a lot of flags that intuitively look like they will improve performance, but it’s easy to also mistakenly believe they are truly doing that, unless you have profiling evidence to support it. On the whole, I think it’s safe to say that Java is actually fairly well-optimized, but there needs to be a much higher bar of evidence before any given tweak can be considered to have improved performance.
I’ll give these a read once I get home, thanks!
Had a quick read through those comments. Very interesting to read technical explanations (vs the usual anecdotal ones on Reddit, etc.) for JVM flags.
Are there any that you include with MineOS by default? I was thinking I might try testing that ‘-server’ switch, but don’t want to unnecessarily if it’s already included.