Lightweight and efficient at the same time!
Well, Java creates different Objects all the time. This Objects have a specific sense but after they did their job, they are not needed anymore. Java normally sorts this "not needed" Objects out and removes them from the memory.
Thing is: Java does not automatically remove ALL not needed Objects. Some - although they became useless - stay in the memory of a server. They are most likely removed after some time, but some useless Objects always stay. The amount of useless Objects rises from time to time.
What LagFixer does, is calling the Java Method "System.gc();" after a configurable amount of time. This method makes Java search for all remaining useless Objects in order to delete them. A really effective method especially for Bukkit Servers: Bukkit Servers often run many different Plugins, and all of them create different Objects which lead to a bad performance. That's the reason, why many Bukkit Servers have to restart after some Time: Because else they would crash due to a high amount of useless Objects in memory.
Before I tried the Garbage Collector out, I didn't really believe it would work, because I thought Bukkit itself would handle things like that. I was wrong...
Just try it out yourself! Before and After LagFixer is executed, the current memory is displayed in the Console/Server.log
- Removes unused Objects from the memory
- Executed every x seconds (Configurable amount of time)
- Current memory before and after execution is shown
- /memory - Shows current Memory
- LagFixer.Memory - Permission for the /memory command
Calling the garbage collector should not be needed, but I've seen so many poorly coded plugins, where I think it actually helps. I personally always had doubts about the garbage collector and possible disadvantages but all my tests worked fine (On servers with 200+ players) and it really increased the performance. Java has an automatic clever garbage collector which should remove all unused objects as soon as a specific amount of objects is reached, however I've seen many servers crashing due to memory issues. LagFixer solved this crashes. Just test this out yourself, it doesn't hurt!