Skocz do zawartości
  • 0

Problem Z Crashami


Vezeke

Pytanie

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

@Vezeke używanie opcji startowej -Xms prawie nigdy nie jest dobrym pomysłem. Serwer zajmuje przez to od samego początku znacznie więcej pamięci RAM niż powinien zajmować. Poza tym ile masz pamięci na maszynie na której próbujesz uruchomić ten serwer? Jeśli to Linux, użyj komendy free -m i wklej jej wynik w temacie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
W dniu 7.09.2021 o 23:09, Robotik napisał:

używanie opcji startowej -Xms prawie nigdy nie jest dobrym pomysłem.

Jest to właśnie konieczne jeśli chcesz żeby serwer działał wydajniej.

W dniu 7.09.2021 o 23:09, Robotik napisał:

Serwer zajmuje przez to od samego początku znacznie więcej pamięci RAM niż powinien zajmować.

Nie zajmuje "więcej niż powinien", a tyle, ile zostało przypisane, co jest czymś co każdy powinien chcieć. Jeśli Xms jest pusty lub niższy niż Xmx to jvm co chwilę bierze sobie mniej lub więcej ramu zależnie od wymagania, co jest złe. Przykład: dla serwera przypisałeś 1gb, maksymalny dałeś 8gb. Na serwerze jest 40 graczy, więc będzie on używał jakieś 1-3gb ramu. Wartość przypisana będzie się zwiększać razem ze zwiększeniem użycia ramu. Maksymalnie serwer będzie używał 4gb, i w tym momencie wykona się gc, a przypisany ram się zmniejszy. Jeśli Xms będzie równy Xmx to przypisany ram nie będzie musiał się co chwilę zwiększać i zmniejszać, ponieważ będzie on ramem maksymalnym.

Takie kłamstwa utworzyły scamujące hostingi typu enderchest czy titanaxe, w które pełno osób ślepo wierzy. Prawdziwym celem niższej wartości dla Xms jest możliwość wrzucenia większej ilości serwerów na jedną maszynę, wtedy każdy serwer może korzystać także z twojego ramu, a dla ciebie na wyłączność jest jedynie Xms (który w wielu przypadkach jest tak niski jak 256mb, a widziałem nawet 128mb).

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
8 godzin temu, Helios1993 napisał:

Jest to właśnie konieczne jeśli chcesz żeby serwer działał wydajniej.

W jaki sposób rezerwacja całego RAMu na początku pozwala na wydajniejsze działanie? Serwer zaklepujący dodatkowe ilości RAMu w trakcie jest tak samo wydajny.

8 godzin temu, Helios1993 napisał:

Jeśli Xms jest pusty lub niższy niż Xmx to jvm co chwilę bierze sobie mniej lub więcej ramu zależnie od wymagania, co jest złe.

Dlaczego jest to złe? Dzięki temu RAM jest wykorzystywany w sposób optymalny i jego nadmiar może być wykorzystany chociażby na buforowanie plików.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
45 minut temu, Robotik napisał:

W jaki sposób rezerwacja całego RAMu na początku pozwala na wydajniejsze działanie? Serwer zaklepujący dodatkowe ilości RAMu w trakcie jest tak samo wydajny.

Ciągłe przypisywanie ramu samo w sobie jest zasobożerne, a dodatkowo zwiększa zasobożerność gc.

45 minut temu, Robotik napisał:

Dlaczego jest to złe? Dzięki temu RAM jest wykorzystywany w sposób optymalny i jego nadmiar może być wykorzystany chociażby na buforowanie plików.

Właśnie dlatego nie przypisuje się całego ramu. Dobrze zrobiony serwer Minecraft (bez wycieków pamięci) nie będzie używał więcej niż 16gb, ponieważ szybciej padnie nawet najlepszy procesor. Większość dużych serwerów przypisuje zazwyczaj 12gb lub 16gb, nie więcej. Serwery mc używają średnio jeden wątek nowszego procesora na każde 4gb ramu, do 4 całych wątków (czasami 2 kolejne trochę pomagają, ale więcej niż 6 nic nie zmienia). Oznacza to, że serwer z 4 wątkami i 16gb ramu utrzyma tyle samo osób niż serwer z 16 wątkami i 64gb ramu, a nawet więcej, ponieważ większa ilość ramu też zwiększa zasobożerność gc (co jest zauważalne powyżej 12gb, dlatego właśnie jest to zalecana ilość). Można porównać to do jakiegoś hostingu, weźmy lvlup.pro. Przy zakupie 4 pełnych wątków otrzymujesz aż 30gb ramu, jeśli przypiszesz do serwera mc maksymalną zalecaną wartość to nadal zostanie ci 14gb, jest to wystarczająco na wszystko inne co dzieje się poza jvm.

Zalecam poczytać trochę na temat jvm i gc, takie informacje przydadzą ci się jeśli będziesz tworzył poważny serwer Minecraft.

EDIT: Dorzucam tu jeszcze wypowiedź twórcy Papera na ten temat:FKZkk3A.png
Źródło: https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/

Edytowane przez Helios1993
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 godziny temu, Helios1993 napisał:

Właśnie dlatego nie przypisuje się całego ramu.

Faktycznie muszę się z tobą zgodzić w tej kwestii, gdyby autor tematu ustawił flagi -Xmx i -Xms na 6 albo 4 GB prawdopodobnie nie byłoby żadnego problemu. Niemniej jednak dalej uważam że nieustawianie flagi -Xms sprawdzi się lepiej przy wielu usługach działających jednocześnie na tej samej maszynie. Dotyczy to także własnych maszyn a nie tylko hostingowych.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
53 minuty temu, Robotik napisał:

Niemniej jednak dalej uważam że nieustawianie flagi -Xms sprawdzi się lepiej przy wielu usługach działających jednocześnie na tej samej maszynie.

Zrozum, że przez takie rozwiązanie narażasz się na out of memory i tracisz na wydajności. Jeśli Xms będzie taki sam jak Xmx to na nagłego oom nie ma szans.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
W dniu 11.09.2021 o 00:27, Helios1993 napisał:

Zrozum, że przez takie rozwiązanie narażasz się na out of memory i tracisz na wydajności. Jeśli Xms będzie taki sam jak Xmx to na nagłego oom nie ma szans.

Przecież zawsze jest szansa na OutOfMemoryError. Wystarczy, że pamięć przydzielona poprzez Xms nie wystarczy. Jeśli na maszynie nie jest uruchomione więcej usług to odpalając bez Xms nie ryzykuje się niczego, a zyskuje możliwość użycia pozostałej pamięci do buforowania plików przez system.

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...