Wysokie zużycie ramu na OpenVZ

Czy to zużycie ramu na postawionym serwerze minecraft, wgranymi pluginami, javą 8 ma prawo mieć tak wysoki ram gdy nie ma nikogo na serwerze? [VPS OpenVZ]

Po pierwsze, wklep w SSH komendę free -m i przekopiuj nam tutaj to co wypluło.
Zwykly jest to Cache, czyli system sobie sam przeznacza RAM na potrzebne procesy, bądź pliki często używane.
Jeśli po tej komendzie będzie pisało np. 2800mb cached to już wiesz o co chodzi.
Cache zwolni się samo jeśli będzie potrzeba na RAM poprzez inne procesy.
“Według jądra Linux wolny RAM jest zmarnowany, lepiej gdy jest przeznaczony na cache” - Pan Michał, w projekcie AimPanelu do VPSów.

Druga sprawa - czy przy startowaniu serwera MC ogarniczasz Javie RAM? Tj. czy wpisujesz np. -Xmx2048M, gdzie 2048 to ilość mb ramu, czy coś? Jeśli nie, to koniecznie to dodaj. Jeśli tak - to jest java, pamiętaj: java żre ile tylko może xD
Nawet jeśli serwer nie jest używany, tj. nikogo nie ma, to na takiej samej zasadzie jak Cache - jeśli jest odpowiednia ilość i takie cache w javie może się zwolnić, lecz jeśli przydzielisz zbyt mało to po prostu wywali server jako Java:OutOfMemory.

Podsumowując, najpewniej jest to cache, i jeśli tak to nie masz kompletnie czym się przejmować. Natomiast jeśli to Java przydzielona do takowego serwera Minecraft, i przydzieliłeś owemu serwerowi np. 2Gb ramu to wymienione 2Gb ramu może być zużyte i nie ma potrzeby dodawać więcej, jeśli nie zajdzie potrzeba - serwer będzie miał zbyt mało.

Pozdrawiam,
Timo.

PS. Tak jakoś się rozpisałem, to takie fajne :smiley:

1 polubienie

Linux + Java?

Dziwne że całego RAMu nie bierze :wink:

Czemu? Kolega wyżej wyjaśnił.

Ram jaki przypisuje to 7,5 gb aby zawsze coś tam zostało :wink: Cached tylko 82, przy 42% zuzyciu ;/

Pewnie to JVM bierze RAMu. Java zachowuje się jak linux - bierze RAMu ile może :wink:

Czyli da się z tym coś zrobić czy nie bardzo, i czy przy graczach na serwerze już całkiem wysypie mi ram na 100% xD?

Z tego co wiem to nic. (ewentualnie zmienić na Javę 7 bo żre mniej ramu). Może ktoś inny coś wie więcej co można zrobić.

Proponuję trochę mniej, ustaw Xmx powiedzmy na 7GB. To trzeba obczaić patrząc na statystyki procesu jednak zostawianie 512MB to trochę mało, obstawiam że wjedzie w pewnym momencie na swap bo zabraknie RAMu i nie będzie to korzystne na wydajność.

Odnośnie samego MC to musiałbyś podać jakich pluginów używasz, ile światów masz załadowanych i inne czynniki. Nie jestem ekspertem od MC ale technicznie da się zużyć i więcej na pustym serwerze jednym wadliwym pluginem, opisanie twojego środowiska pomoże szybciej określić zakres w jakim to powinno być.

Ze zrzutu ekranu free -m widać że zużywasz 3257MB RAM, jeśli masz tam panel i inne rzeczy to wydaje się normalne. Jeśli masz serwer na modach to wtedy bym powiedział że mało RAMu zużywasz :slight_smile: Takie potrafią wziąć 4GB na start lub więcej.

Na swap wjechało mi w nocy przy 30% zuzyciu ramu, swap ponad 100% XD, pluginów około 30, jeden swiat. Brak panelu, czysty vps java i minecraft.

Takie sytuacje mogą się zdarzać, chodziło mi sytuację gdy wyczerpie się RAM i wtedy korzystanie ze swapu jest kłopotliwe.

Ciekawe jak będzie gdy już gracze będą na serwerze ;/

Podaj listę pluginów, wersje silnika oraz średnią ilość graczy, pomogę Ci.

Wersja silnika PaperSpigot 1.7.10 najnowszy. Graczy jeszcze nie ma bo tworze dopiero serwer.

Disguisy i dodatki w stylu “ItemCases” czy inne mogą silnie żreć ram.
Na twoim miejscu wywaliłbym zbędne pluginy, serwer ładowałby się szybciej i mniej zasyfiony ram:

  • AntiCommandTab (w spigot.yml dodaj tam gdzie jest tab-complete: daj na 999, wtedy “/” i TAB nie bedzie już działać :P)
  • NoRain (wystarczy gdzieś po configach poszukać o deszczu i nie bedzie padał)
  • OpenInv (masz essentialsa, po co ci jeszcze to?)
  • SuperTeleport - co to robi?
    Generalnie odradzam używania Essentialsa przy publicznych serwerach - każdy gracz w nim ma osobny Config, ba, nawet kilka, polecam używanie podobnych pluginów lecz nie tak rozbudowanych, jak np. https://bukkit.org/threads/mini-essentials.376714/ czy coś podobnego, bardziej rozbudowanego. Ja na swoich projektach używam autorskich pluginów (autorski Essentials, autorski cośtam itd.).

Masz WorldGuard, w configu można wyłączyć deszcz.

2 polubienia
always-raining: false
always-thundering: false  na true?

OpenInv wywalone, norain wywalony, superteleport (losowy teleport w miejsce na mapie)

raining = deszcz
thundering = pioruny.

To to wiem :slight_smile: XD ale czy ustawienie na true bo teraz jest na false

ta opcja chyba działa jak rain jest na true, więc to chyba obojętne ale dla pewności możesz dać na false