Vezeke 0 Opublikowano 14 sierpnia 2021 Udostępnij Opublikowano 14 sierpnia 2021 Ogółem właczam serwer wszystko okej a tu nagle wylacza sie a na konsoli pisze: process kill (5 cyfr) -java -Xms7G -Xmx7G -jar server.jar nogui pomocy Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Robotik 6 Opublikowano 7 września 2021 Udostępnij Opublikowano 7 września 2021 @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. Helios1993 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Helios1993 333 Opublikowano 10 września 2021 Udostępnij Opublikowano 10 września 2021 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). Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Robotik 6 Opublikowano 10 września 2021 Udostępnij Opublikowano 10 września 2021 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. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Helios1993 333 Opublikowano 10 września 2021 Udostępnij Opublikowano 10 września 2021 (edytowane) 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: Źródło: https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/ Edytowane 10 września 2021 przez Helios1993 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Robotik 6 Opublikowano 10 września 2021 Udostępnij Opublikowano 10 września 2021 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. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Helios1993 333 Opublikowano 10 września 2021 Udostępnij Opublikowano 10 września 2021 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. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Robotik 6 Opublikowano 14 września 2021 Udostępnij Opublikowano 14 września 2021 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. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Vezeke 0
Ogółem właczam serwer wszystko okej a tu nagle wylacza sie a na konsoli pisze:
process kill (5 cyfr) -java -Xms7G -Xmx7G -jar server.jar nogui
pomocy
Odnośnik do komentarza
Udostępnij na innych stronach
7 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
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ą.