Krátce
Co znamená Garbage Collection?
Garbage Collection je úklid paměti v Javě. Když se spouští příliš agresivně nebo trvá dlouho, server může na chvíli zamrznout.
GC problémy často vypadají jako náhodné lag spikes, i když průměrné TPS nemusí být trvale špatné.
Proč GC vzniká
Minecraft a pluginy vytvářejí objekty v paměti. Java průběžně uklízí ty, které už nejsou potřeba. Pokud je málo RAM, špatné startovací parametry nebo pluginy vytvářejí zbytečně mnoho objektů, GC pauzy mohou být znatelné.
U modpacků se GC řeší častěji, protože mají více dat a vyšší paměťovou stopu. Přidat RAM může pomoci, ale jen pokud je problém opravdu v paměti a ne v CPU nebo entitách.
Jak GC diagnostikovat
- Sledujte paměťové grafy a náhlé propady využití RAM.
- Použijte Spark nebo logování GC.
- Zkontrolujte, jestli server nenaráží na limit RAM.
- Nepřidávejte náhodné Java flagy bez testování.
Jak to využít v praxi
Garbage Collection je dobré řešit podle naměřených dat, ne podle pocitu hráčů v chatu. Nejprve si ověřte, jestli jde o výkon serveru, síť, klientské FPS nebo konkrétní plugin/mod. Praktický postup je jednoduchý: sledujte TPS, MSPT, vytížení CPU, paměť a případně spusťte Spark ve chvíli, kdy se problém opravdu děje.
Na co si dát pozor
- Neměňte deset nastavení najednou. U výkonu serveru je lepší upravit jednu věc, chvíli měřit a teprve potom pokračovat.
- Rozlišujte krátký lag spike od dlouhodobě špatného výkonu. Jednorázový výkyv při záloze nebo generování světa se řeší jinak než trvale vysoké MSPT.
- Neberte RAM jako univerzální lék. U Minecraft serverů bývá často důležitější single-core výkon procesoru, množství entit, chunky a kvalita pluginů.
Časté otázky
Je garbage collection chyba? +
Ne. Je to normální část Javy. Problém je až dlouhá nebo příliš častá pauza.
Pomůže více RAM? +
Pokud server naráží na limit, ano. Příliš mnoho RAM ale může někdy prodloužit úklid, takže je důležité testovat.
Souvisí GC s MSPT? +
Ano, dlouhá GC pauza může způsobit špičku MSPT a krátký zásek.