Garbage collector i pauze
Zašto se server zamrzne na par sekundi pri normalnom TPS-u: kako radi sakupljanje smeća, kako da ga vidiš u logovima i šta zaista pomaže.
Ažurirano 13. avgust 2026.
Java oslobađa memoriju u pauzama: aplikacija se zaustavlja, sakupljač smeća uklanja smeće, i rad se nastavlja. Duga pauza izgleda kao zamrzavanje celog servera.
Simptomi
- Prosečan TPS je normalan, ali jednom u nekoliko minuta sve se zamrzne na 1–5 sekundi.
- U Paper logu:
Can't keep up! Did the system time change, or is the server overloaded?— analiza. spark healthpokazuje udeo vremena provedenog u GC.
Na šta utiče
| Faktor | Efekat |
|---|---|
| Veličina heap-a | Veći heap — duža pauza |
| Brzina stvaranja smeća | Plugini i modovi koji stvaraju objekte u petlji |
| Sakupljač | G1 je podrazumevan; ZGC daje kratke pauze na velikim heap-ovima |
| Broj jezgara | Paralelno sakupljanje je brže |
Šta da radiš
- Ne daj memoriju „sa većom marginom”. 32 GB tamo gde je 8 dovoljno znači duže pauze. Smernica je vrh plus 30–50% — Koliko memorije je potrebno.
- Nađi izvor smeća.
spark heapsummaryće pokazati šta puni heap. Često je to određeni plugin ili mod. - Flagovi. Podešen G1 je već postavljen u Millida; ručni setovi sa interneta češće štete — Aikarovi flagovi.
Šta ne treba da radiš
Ne pokušavaj da „isključiš sakupljač smeća” — to ne postoji kao opcija. Ne postavljaj -Xmx veći od količine memorije paketa: proces će biti ubijen kada pokuša da prekorači limit — OutOfMemoryError.
Minecraft hostingTvoj server radi i dok si oflajnNapravi server
