Pamięć: ile przydzielić i dlaczego nie całą
Jak czytać wykres pamięci w panelu, dlaczego zajęta pamięć nie oznacza braku i kiedy czas na wyższy plan.
Zaktualizowano 13 sierpnia 2026
Wykres pamięci w panelu odstrasza nowicjuszy: prawie zawsze jest wysoki. To normalne zachowanie Java.
Jak go czytać
Java przydziela pamięć z wyprzedzeniem i zwalnia ją dopiero podczas garbage collection. Piła na wykresie — rosnące zużycie i gwałtowny spadek po odśmieceniu — to oznaka zdrowego serwera.
Problem wygląda inaczej: linia jest przyklejona do sufitu i nie opada po spadkach. To znaczy, że pamięć nie jest zwalniana — albo jest jej naprawdę za mało, albo masz wyciek.
Oznaki niedoboru
OutOfMemoryErrorw logu — analiza.- Zamrożenia na kilka sekund, które narastają wraz z uptime.
- Serwer działa dobrze po restarcie, a wieczorem się psuje.
Wyciek
Jeśli zużycie rośnie liniowo i nie spada, poszukaj winowajcy:
spark heapsummary
Zwykle to plugin, który gromadzi dane, albo mod z chunk loaderami — Spark.
Środek tymczasowy to auto-restart raz na dobę. Stałe rozwiązanie to znalezienie i aktualizacja winowajcy.
Nie przydzielaj wszystkiego
Oprócz sterty proces potrzebuje pamięci na metadane, wątki i bufory, a kontener na system. Panel Millida uwzględnia to sam, ustawiając limity sterty zgodnie z planem — nie musisz tego ruszać ręcznie.
Kiedy zmienić plan
Gdy szczytowe zużycie stale dobija do limitu podczas normalnej pracy, a profil nie pokazuje wycieku — Zmiana planu.
