Hláška java.lang.OutOfMemoryError: Java heap space znamená, že server požádal o víc paměti, než má k dispozici, a byl zastaven. Příčiny jsou dvě: příliš malý balíček na to, co server dělá, nebo únik paměti (memory leak) v doplňku. Rozlišíte je podle tvaru grafu Paměť v záložce Konzole.
#Co budete potřebovat
- Přístup k záložkám Konzole a Logy v panelu manage.mchost.gg.
#Krok 1: Přečtěte graf paměti
Pod konzolí najdete graf Využití zdrojů se sekcí Paměť.
| Tvar grafu | Diagnóza |
|---|---|
| Pila: roste, po úklidu (GC) klesne, zase roste | Normální provoz |
| Stálá úroveň u limitu, plochá čára | Příliš malý balíček na zátěž |
| Lineární růst až do pádu, bez poklesů | Únik paměti v doplňku |
| Skok nahoru v konkrétní chvíli | Událost: pregenerace, načtení velké stavby, mob farma |
Únik paměti poznáte podle toho, že server po restartu běží v pořádku a spadne až po několika hodinách – vždy přibližně po stejné době. Příliš malý balíček se projeví hned pod zátěží.
#Krok 2: Snižte spotřebu paměti
Pořadí od největšího přínosu:
- Odstraňte nepoužívané doplňky. Každý plugin a mod zabírá paměť, i když ho nikdo nepoužívá.
- Snižte dohlednost. V záložce Konfigurace → Síť a výkon nastavte Dohlednost na 6–8 a Simulační vzdálenost na 4–6. Je to nejjednodušší změna s velkým dopadem.
- Omezte limit hráčů. Panel varuje: „Vysoký počet hráčů může ovlivnit výkon“.
- Omezte svět. Maximální velikost světa snižuje počet chunků, které server může vygenerovat a držet v paměti.
- Vypněte náročné doplňky. Dynmap, BlueMap a pluginy s velkou cache dokážou spotřebovat stovky megabajtů.
#Krok 3: Najděte zdroj úniku
Nainstalujte plugin Spark a spusťte analýzu paměti:
spark heapsummaryReport ukáže, které třídy zabírají nejvíc paměti – název balíčku prozradí doplněk. Profilování zátěže:
spark profiler --timeout 300Provizorním řešením je automatický restart jednou denně, ale to je jen léčba příznaku – viníka je potřeba najít.
#Krok 4: Ověřte, zda balíček stačí
Orientační nároky:
| Typ serveru | Rozumné minimum RAM |
|---|---|
| Vanilla / Paper, do 10 hráčů | 2 GB |
| Paper s několika pluginy, 10–30 hráčů | 4 GB |
| Rozsáhlý server s ekonomikou a online mapou | 6–8 GB |
| Lehký modpack (do 100 modů) | 6 GB |
| Velký modpack (200+ modů) | 8–12 GB |
Nároky rostou s počtem modů, ne s počtem hráčů. Modpack s 300 mody spotřebuje při jednom hráči víc paměti než čistý Paper při třiceti.
Pokud graf Paměť i po snížení dohlednosti a odstranění zbytečných doplňků stále naráží na limit – potřebujete větší balíček.
#Nejčastější problémy
#Server padá každý den přibližně ve stejnou dobu
Únik paměti. Spusťte spark heapsummary těsně před očekávaným pádem – uvidíte, co narostlo.
#OutOfMemoryError při pregeneraci světa
Pregenerace je nejnáročnější operace na paměť. Spouštějte ji na prázdném serveru a po menších částech.
#Paměť je plná, ale na serveru nikdo není
Načtené chunky se neuvolňují okamžitě. Pokud úroveň neklesne ani po deseti či více minutách prázdného serveru, jde o únik.
#Server nepadá, ale hrozně se seká
To je samostatný problém – viz Lagy a optimalizace.
#Log neobsahuje OutOfMemoryError, a server se přesto vypíná
Prohlédněte si celý latest.log – stáhněte ho tlačítkem Stáhnout. Při náhlém zabití procesu může být záznam poslední, useknutý řádek.