Wysokie zużycie ramu na OpenVZ

Zombie
vps, minecraft
Orjent1337
Orjent1337

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]540x91

Timo
Timo Moderator forum.lvlup.pro

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 :D

koweq
koweq

Linux + Java?

Dziwne że całego RAMu nie bierze ;)

Czemu? Kolega wyżej wyjaśnił.

Orjent1337
Orjent1337

532x65

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

koweq
koweq

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

Orjent1337
Orjent1337

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?

koweq
koweq

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ć.

SystemZ
SystemZ Admin lvlup.pro

Orjent1337:

Ram jaki przypisuje to 7,5 gb aby zawsze coś tam zostało 😉

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.

Orjent1337
Orjent1337

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.

SystemZ
SystemZ Admin lvlup.pro

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

Orjent1337
Orjent1337

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

anon10657637
anon10657637

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

Orjent1337
Orjent1337

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

Timo
Timo Moderator forum.lvlup.pro

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.).
liamdj23
liamdj23

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

Orjent1337
Orjent1337

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

Orjent1337
Orjent1337

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

luxDev
luxDev Pionier

raining = deszcz thundering = pioruny.

Orjent1337
Orjent1337

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

luxDev
luxDev Pionier

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

liamdj23
liamdj23

disable-weather: true