CyberdyneCC / Thermos

(NO LONGER DEVELOPED) Minecraft Forge Server Software implementing the Spigot/Bukkit API, formerly known as Cauldron/MCPC
http://cyberdynecc.github.io/Thermos/
GNU General Public License v3.0
258 stars 186 forks source link

Future RAM Usage improvement? #523

Closed Zilacon closed 7 years ago

Zilacon commented 7 years ago

I was just wondering if there is any way you guys could make a update focusing on improving ram allocation to the server? The performance difference from 1.6.4 to 1.7.10 is like digging a hole into the void.

I can run a 260 mod 1.6.4 server only using 2GB of ram with 15-20 players online. Just starting up a modpack with 160 mods on 1.7.10 allocates 3.5GB of ram which then goes over the 4GB max limit i set with java up to 4.8GB until the server dies from out of memory errors. And this occurs on a server that gets roughly around 5-8 players online on a busy day. And its like this on multiple modpacks not just mine. It does not matter if its my APOC TRPG or FTB Infinity all of them do this. Even the small modpack that is Tekkit Legends somehow bleeds memory when theres only 1 person online playing.

Any kind of improvement on this or simply unloading stuff thats not being used or something to improve the ram usage would be greatly appreciated because setting a 3-6 hour restart on my servers to ensure the ram stays within tolerable numbers is annoying to players.

As always thanks for your continued work on Thermos, i hope you take this into consideration.

Brend-Smits commented 7 years ago

Ever heard of Java Arguments?

Zilacon commented 7 years ago

Yes, and i use them. I use the same java settings for my 1.6 and 1.7 servers. On 1.6 they have zero issues with memory. On 1.7 its the opposite. I even tried spending hours testing with no arguments or some and using different garbage collectors such as G1GC and ConcMarkSweep. It doesn't matter what arguments i set the result is the same for 1.7.10. A shit ton of ram being used in a very short amount of time with barely anything loaded.

KasperFranz commented 7 years ago

I don't have any issues where the ram usage is running loose. it goes up to ~6 GB I can't remember it has been higher than 10 with 50 online

sameer commented 7 years ago

This is a very ambitious expectation. Have you done any tests for memory use _without_ any mods? In all likelihood, it is the number of mods you have. A memory dump while your server is running will identify the top memory-usage culprits.

I don't think it's fair to expect the same performance you got in 1.6.4 in 1.7.10 -- many things have changed.

Time6628 commented 7 years ago

I've had no issues with memory usage.

StargateMC commented 7 years ago

Forge based servers generally consume much more than their vanilla counterparts. 6GB of Ram for 10 players online seems reasonable.

bookerthegeek commented 7 years ago

Depending on the pack. And memory leaks. Restarts are a must.

LunNova commented 7 years ago

Forge based servers generally consume much more than their vanilla counterparts. 6GB of Ram for 10 players online seems reasonable.

WTF? No it's not. It never has been.

StargateMC commented 7 years ago

For a thermos server with several dimensions and a large number of mods and plugins it is.

Why are you even commenting on a closed thread.

Zilacon commented 7 years ago

Ive just kind of stayed silent on this because whatever i say on here i get attacked on as being an idiot. Doesn't matter what i mention be it a bug, suggestion, or improvement. Im attacked on here.

And im guessing he looked at my recent activity on my profile.

Brend-Smits commented 7 years ago

Any kind of improvement on this or simply unloading stuff thats not being used or something to improve the ram usage would be greatly appreciated because setting a 3-6 hour restart on my servers to ensure the ram stays within tolerable numbers is annoying to players.

Restarting on a modded server is mandatory. I personally don't have any issues with Tekkit legends running 4 hours with 75 player peaks. Ram usage will go max 8 gb.

Zilacon commented 7 years ago

Restarting should not be mandatory, only when necessary. My servers that use nallar's project TT can stay online for weeks at a time without deadlocking, crashing, or even needing a restart. And also not running out of memory or going below 20 TPS.

However with Thermos, which Nallar did not make TT for its a trainwreck. Memory usage is through the roof for a server that has no players online, crashes constantly, and deadlocks as easily as simply flying around loading chunks.

Also might i add not everyone has an infinite amount of ram. I see no reason why a small 50 mod modpack would require more than 4GB of ram for less than 5 players online.

LunNova commented 7 years ago

Restarting on a modded server is mandatory. I personally don't have any issues with Tekkit legends running 4 hours with 75 player peaks. Ram usage will go max 8 gb.

Shouldn't be mandatory either.

It's a pity the approach to fixing problems nowadays is "throw more RAM at it and restart regularly", rather than actually looking at heap dumps and investigating why memory usage is terrible.

I'm not saying Thermos is at fault here, and it may be entirely appropriate for this issue to be closed.

It is however ridiculous that when someone complains of high memory usage the response is basically to tell them to give up and deal with it.

StargateMC commented 7 years ago

If restarts should not be mandatory perhaps you should contact the forge developers and ask them to look into it. Thermos isn't the root cause of your issue... this is a forge limitation that thermos inherited.

It isn't that we are saying give up or deal with it, we are saying this is normal for modded servers to restart 2-3 times a day and your expecting otherwise goes against what has been considered normal for years by all modded server owners.

Perhaps the thread should be locked.

StargateMC commented 7 years ago

PS - it is generally memory leaks in the mods themselves that result in the need for a restart.

Zilacon commented 7 years ago

Im one of those server owners, thats been running his network for 6 years. Im also one of those owners that dives into development builds, reports bugs, tests things, and reports his findings to developers to help them make their project better.

And this entire conversation has been about modded servers yet you have this little fantasy in your head thinking that im talking about vanilla servers. I dont run vanilla servers dude.

Brend-Smits commented 7 years ago

We're not saying that you are running a Vanilla server "Dude" We're talking about that restarts are mandatory

StargateMC commented 7 years ago

If you'd really been running a forge based server for 6 years you'd know better and not be a dick.

Zilacon commented 7 years ago

They may be mandatory for you, they aren't for me. Restarting servers on my end is one of those "last resort" options if the TPS is low.

The only ones being a dick here is you. No one has called anyone names here except you.

StargateMC commented 7 years ago

Side note and a positive for running thermos : Investigate some of the performance monitoring plugins like massive lag and lag monitor ... they can help look at memory usage on a granular level. Same for warnroast.

StargateMC commented 7 years ago

Warmroast.

Zilacon commented 7 years ago

I love how you call me a dick and then start giving suggestions which should have been mentioned from the start instead of attacking me.

StargateMC commented 7 years ago

No, rather than call me names you imply I'm an idiot who can't read living in a fantasy. Blocked.

Zilacon commented 7 years ago

Please quote me where i called you an idiot. Id love to see that quote.

So after you insult me, insult my intelligence, and knock down anything me or nallar say, your defense is making up me calling you an idiot and blocking me? Mature.

Time6628 commented 7 years ago

There are no plans for future improvements. Most of the Thermos team is too busy to work on the project anymore.

sameer commented 7 years ago

If you want to argue please do it on Discord, not on Github.

Yes ram usage is a problem, but you also have to consider the fact that Thermos is forcing two entirely different APIs to work with each other. That and the fact that the code written by mod and plugin authors might not be that efficient (no offense intended).