Unplayable on servers, RAM is continuously raising
dbackpflaume opened this issue · 11 comments
Hello,
I am leading a Gaming Network and we decided to create a Modded Mc Server with your Modpack, All of Fabric 3. There were no Problems, except this pack is using a huge amount of RAM. But ok, I assigned 32 GB to the Server. Problem: the Server started to use more and more RAM, till the 32 GB were reached... This can not be, that a Server with not that much mods use so much RAM, and we only played with 5 Players until now. We even have a world border of 5000. So the issue must be somewhere in this pack.
I would be very glad if you can help me fixing this.
How much time past before it reached the ram limit? And What java args are you using? You should try using Aikar's flags. It is what we use on our official servers. Did you pregenerate the world? You should. Do you have auto restarts? you should also have those. At least once a day. EU server restarts every 6 hours. EU also only has 12G of Ram and doesn't hit that limit.
https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/
How much time past before it reached the ram limit? And What java args are you using? You should try using Aikar's flags. It is what we use on our official servers. Did you pregenerate the world? You should. Do you have auto restarts? you should also have those. At least once a day. EU server restarts every 6 hours. EU also only has 12G of Ram and doesn't hit that limit.
https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/
the server has been straight online for like 50h, and for the java args: we use a panel to access the server, which gives standart args for specific server types. and no i didnt pregenerate the world. and for aikars flags: can i use them on a 1.16.5 modded server too? i guess so, just asking.
thanks for your fast reply ^^
Yeah you can use them on whatever. So yes there is a memory leak somewhere but we are not so certain it is not vanilla causing it. I don't know of any Minecraft servers that can just run for days straight with no issues. Restarts are definitely going to help you in this case. Even just once a night. I would recommend every 6 or 12 hours, for better performance. In trying to Track the memory issue I did just notice on the NA server that whenever it saved the world there was a huge disk usage spike, and the ram bumped up just a little bit, but did not go back down. And so every time its saving the world the total ram increases, until you eventually run out. Its somewhat hard to track the cause, but we are definitely aware of it. For now simply do auto restarts and you will be fine. Even if we find and fix the cause, I would still do restarts.
yes, i let the server restart every 12 hours now. at the moment the server uses 16GB RAM again.
Aikar's Flags are what we use on the Public AoF3 servers. Does the host let you set -Xms? because using Aikar's flags requires you to have -Xms and -Xmx be the same value. aka
-Xms16G -Xmx16G
Our EU server uses Bisect hosting which has the option of selecting Aikar's flags, if yours does not I would just go through the flags and match them up. It makes quite an impact on memory management.
Yes, for over 12GB you want to change a couple of the values as explained on his page. But for 32GB here re the flags.
java
-Xms32G
-Xmx32G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:+UseTransparentHugePages
-XX:G1NewSizePercent=40
-XX:G1MaxNewSizePercent=50
-XX:G1HeapRegionSize=16M
-XX:G1ReservePercent=15
-XX:G1HeapWastePercent=5
-XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=20
-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
yeah I read that. But exact these Arguments doesnt work for my server. It now takes 34 GB of the 32GB provided to it. But i hope it works how it should with 16GB on xmx and xms. I ll see.
Aikar's Flags are what we use on the Public AoF3 servers. Does the host let you set -Xms? because using Aikar's flags requires you to have -Xms and -Xmx be the same value. aka
-Xms16G -Xmx16G
Our EU server uses Bisect hosting which has the option of selecting Aikar's flags, if yours does not I would just go through the flags and match them up. It makes quite an impact on memory management.
yes, i can set xms and xmx. I was just wondering, I have 64GB of RAM to disposal, and I want to this Server to use 32GB (max.), and obviously the standard use of RAM shouldnt be over 16GB. So if I set xms and xmx to 16 GB, the Server uses max. 16GB right? But in case these 16 GB are not enough some time, I want it to use more ofcourse. Is this possible with these flags?
i hope you understand what i mean and im sorry if this is kinda off topic, but im new to all this server stuff...
there is always some overhead in the ram, you can simply set to 30 or 28 and it will then show about 32 I think. But you really probably don't need that for 5 players. 12GB even would be plenty
Yeah you can use them on whatever. So yes there is a memory leak somewhere but we are not so certain it is not vanilla causing it. I don't know of any Minecraft servers that can just run for days straight with no issues. Restarts are definitely going to help you in this case. Even just once a night. I would recommend every 6 or 12 hours, for better performance. In trying to Track the memory issue I did just notice on the NA server that whenever it saved the world there was a huge disk usage spike, and the ram bumped up just a little bit, but did not go back down. And so every time its saving the world the total ram increases, until you eventually run out. Its somewhat hard to track the cause, but we are definitely aware of it. For now simply do auto restarts and you will be fine. Even if we find and fix the cause, I would still do restarts.
How to Automatically Restart? thank
You need to run minecraft in a container. Basically it has to be run by another program, like https://www.multicraft.org/ or https://pterodactyl.io/community/games/minecraft.html