Duże zużycie procesora i problemy z TPS serwera Minecraft

Pytania i problemy
TG_Pjoter
TG_Pjoter

Cześć, na moim serwerze VPS 8 GB FR (Stary pakiet, 3 rdzenie) mam ogromne zużycie procka. Na maszynie mam 2 serwery Minecraft - proxy i główny serwer oraz prostą stronę internetową z kilkoma obrazkami, animacjami i tekstem. Niestety od jakiegoś czasu, zwłaszcza gdy na serwerze jest trochę więcej graczy (około 30) zaczynają dziać się problemy. Wszystko jest zoptymalizowane, RAMu nie brakuje, ale niestety zużycie procesora strasznie skacze. W trakcie pisania tego posta, gdy na serwerze jest 20 osób zużycie wahało się w taki sposób:

image|303x56 image|298x62 image|297x58 image|298x51

W niektórych momentach dochodzi do nawet 100% na każdym rdzeniu. Zmiana pakietu raczej nie wchodzi w grę, bo żeby mieć dodatkowy rdzeń niestety od niedawna trzeba kupić pakiet z 32 GB ramu...

Dodam jeszcze zużycie RAMu, SWAPu i procesy: image|576x97. Tak wygląda zużycie RAMu w screenie: image|415x56. TPS spada co jakiś czas do 16, potem znowu wraca na swoje miejsce.

Mógłby mi ktoś doradzić, co mogę z tym zrobić, żeby nie było takich problemów?

MineGalaxy
MineGalaxy

O jakiej wersji serwera mówimy?

TG_Pjoter
TG_Pjoter

1.16.5

Axerr
Axerr

Ile ram przydzieliłeś do procesu MC? Dlaczego masz 16 GB swapu przy 8 GB ramu?

KMatuszak
KMatuszak Weteran

Z jakiego silnika korzystasz? Ile ramu przypisałeś do serwera?

TG_Pjoter
TG_Pjoter

Główny tryb ma 7GB, proxy 896 MB. Niestety gdy tworzyłem SWAP nie znałem się jeszcze do końca na serwerach i nie miałem czasu na zmianę.

TG_Pjoter
TG_Pjoter

Silnik TuiniTy. Główny tryb ma 7GB, proxy 896 MB.

KMatuszak
KMatuszak Weteran

TG_Pjoter:

Silnik TuiniTy.

Polecam zmienić silnik na Purpur 😉

TG_Pjoter:

Główny tryb ma 7GB, proxy 896 MB.

Nie zostawiłeś nic dla systemu, spróbuj zmniejszyć ram na głównym serwerze do 6 GB.

Helios1993
Helios1993

Z jakiego silnika proxy korzystasz?

TG_Pjoter
TG_Pjoter

Korzystam z waterfalla.

Helios1993
Helios1993

Spróbuj z wydajniejszym Velocity, jeśli nadal będzie ten problem, postaw serwer proxy na oddzielnym (tańszym) vpsie.

Axerr
Axerr

Totalna głupota. Pluginy BungeeCorda nie będą kompatybilne z Velocity.

Maniec
Maniec

Witaj, 7168MB-4937MB=2231MB ram pobierany przez serwer myślę że na głównym starczy; screen -dmS nazwa java -Xms512M -Xmx4396M -jar silnik.jar Swap całkowicie wyłączyć swapoff -a Na proxy starczy czy 1/2 ramu, nie wiem co masz w sumie tam za pluginy i jakie są optymalizacje serwera ale możliwe, że to po prostu bukkitowy/spigotowy zapis świata robi procka sprawdź. Mi to wygląda na jakieś duże zużycie w którymś z pluginów i to na jednym wątku.

Helios1993
Helios1993

@Axerr to prawda, lecz baza pluginów velocity jest wystarczająca by zrobić porządny serwer, dodatkowo, pluginy pisane pod ten silnik proxy zazwyczaj są lepiej zrobione niż te pisane na bungeecorda. @Maniec Xms i Xmx powinny być takie same, na serwer proxy starczy nawet 0,5gb.

TG_Pjoter
TG_Pjoter

Myślicie, że SKRIPT może tak zjadać jeden rdzeń? Wiem, że ten plugin tak robi, ale zużycie rdzenia strasznie skacze i opada. Jeżeli potrzeba, to mogę zaraz wysłać wam timmingi.

TG_Pjoter
TG_Pjoter

Jest coraz gorzej... image|655x29

Timo
Timo Moderator forum.lvlup.pro

Być może, raczej nie ma zbyt dobrego wsparcia dla wielowątkowości. A jak on ma, to same skrypty pewnie już mniej.

Jak dużo skryptów używasz i co one konkretnie robią? Typu sprawdzanie ekwipunków wszystkich graczy co 10 sekund.

TG_Pjoter
TG_Pjoter
TG_Pjoter
TG_Pjoter

Mam jedynie skrypty na GUI, komendy, blokadę niektórych komend, prosty skrypt na spanie 1/4 serwera, zbieranie spawnerów, reset kopalni co 60 sekund i opóźnienie chatu. Wszystkie skrypty były na poprzedniej edycji i serwer nawet nie spadał do 19,90 TPS.

Timo
Timo Moderator forum.lvlup.pro

Nie wiem jak na 1.16.5, ale na poprzednich wersjach tego typu przedmioty stanowiły problem dla serwera: image|173x74 image|211x127

Blokujesz ilości tego typu itemków na wyspach na przykład tym pluginem od Skyblocka?

TG_Pjoter
TG_Pjoter

Tak, blokuję. Poniżej zamieszczam limit:

"HOPPER": 150,
"STICKY_PISTON": 50,
"PISTON": 50,
"OBSERVER": 75,
"REDSTONE": 350,
"SPAWNER": 10

Są to limity na jedną wyspę, nie na gracza.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Blokujesz może jakieś zakresy adresów na firewallu (np. przez ufw/iptables)? Chodzi o blacklisty, blokady krajów i podobne.

aggankx
aggankx

Zauważ że armor standy bardzo obciążają serwer. Rozważałeś wyłączenie tickowania ich? SimpleScore jest pluginem który timingsy wskazują na najbardziej obciążający.

Obwinianie tutaj skripta to parodia ;d

btw. strasznie krótki okres timingów i może nie wskazywać prawdziwych problemów. Ja timingi mam odpalone 24/7 i jak trzeba to paste'uje je sobie. Nie zauważyłem by to w jakikolwiek sposób obciążało mi serwer.

TG_Pjoter
TG_Pjoter

Nie, nie blokuję.

TG_Pjoter
TG_Pjoter

Dobra, zaraz prześlę nowe timingi. Tego samego SimpleScora używałem na poprzedniej edycji i nie było żadnych problemów.

aggankx
aggankx

Tego samego czyli nie aktualizowałeś go? Jeżeli nie - to bardzo niedobrze. Jeżeli tak - to to nie jest ten sam plugin. Wielokrotnie zdarzało się że jakiś plugin po aktualizacji zaczął mi sypać serwer np. Shopkeeper w środku edycji mi zaczął psuć serwer i musiałem go usunąć

TG_Pjoter
TG_Pjoter

Chodziło mi o konfigurację. Sam plugin aktualizuję tak często jak mogę.

TG_Pjoter
TG_Pjoter

Dobra, dodałem ten silnik, wyłączyłem tickowanie armor standów i zaktualizowałem co się dało. TPS wciąż czasami spada do 18, aczkolwiek jest już o wiele lepiej.

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.