Limit cpu na serwer

Zombie
vps, minecraft, zarządzanie
krzukosz
krzukosz
8 lat temu

Witam, posiadam taką komendę startową su - '.$_GET['id'].' -s /bin/bash -c "screen -AmdS '.$_GET['id'].' java ' -Xmx'.$_GET['ram'].'M -Xms512M -jar server.jar"

Chciałbym tutaj zlimitować procesor. I dodatkowo mam pytanie do czego są te parametry startowe -XX:+UseG1GC -XX:MaxGCPauseMillis=5

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro
8 lat temu

Sama Java nie oferuje nic takiego jak ograniczenie CPU, najlepiej to robić poprzez wirtualizacje.

http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html

Timo
Timo Moderator forum.lvlup.pro
8 lat temu

Przez screena, ani javę, nie możesz limitować procesora. Jeśli nie chcesz się bawić w stawianie mniejszych VPSów, polecam Ci dockera - on podobno umie takie rzeczy. Poczytaj poradniki.

krzukosz
krzukosz
8 lat temu

Nie chcę się bawić w stawanie vpsów. Tylko w ograniczenie procesora na serwer minecraft. Dałem tam komendę startową

LinGruby
LinGruby Pionier
8 lat temu

To ja powiem tak wszystko zależy od kernela zbudowanego pod daną maszynę ( tzw. kernel szyty na miarę ) i od odpowiednich patch'y na niego nałożonych, a wtedy CPU może pracować na 100% i wszystko działa płynnie tak jak u mnie od prawie 2 miesięcy, no ale to już wyższa szkoła jazdy ;-)

a co do ograniczeń jakichkolwiek to nie jestem zwolennikiem, sprzęt powinien działać płynnie nawet przy wspomnianych już 100% CPU non stop :-)

krzukosz
krzukosz
8 lat temu

Pokaż mi hosting który nie ogranicza procesora?

Nie chce żeby ktoś mi zapchał cały procek.

LinGruby
LinGruby Pionier
8 lat temu

krzukosz:

Nie chce żeby ktoś mi zapchał cały procek.

a co masz na myśli?, CPU to nie to co RAM jak ram się skończy wszystko łapie zadyszkę, CPU może na 100% pracować i nic się nie stanie jak pisałem ja mam tak na lapku jak i na KVM i jakoś wszystko płynnie działa a na serwie APRSC mam średnio ponad 100-e użytkowników z całego świata ;-)

krzukosz
krzukosz
8 lat temu

Ale po co ludzie wszystko utrudniają. Ja zapytałem o limitowanie procesora np programem cpulimit na linuxa a wszyscy mówią że to nie potrzebne.

Timo
Timo Moderator forum.lvlup.pro
8 lat temu

Dokładnie, przejdźmy do sedna. Na początku podałem propozycję z Dockerem - nim można podobno CPU limitować.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro
8 lat temu
krzukosz
krzukosz
8 lat temu

za dużo z tym zabawy. Wolał bym cpu limitem

happi
happi
8 lat temu

krzukosz:

Wolał bym cpu limitem

No to go użyj, w czym problem?

krzukosz
krzukosz
8 lat temu

Próbowałem użyć komendy

screen -AmdS s2 cpulimit -l 1 -- java -XX:+UseG1GC -XX:MaxGCPauseMillis=5 -Xmx1024M -Xms512M -jar server.jar

Komenda nie działa serwer się nie odpala jak usunę screena to idzie

tirex
tirex
8 lat temu

Stwórz screena ręcznie i później spróbuj wstawić komendę ręcznie i powinnien jakiś error wyskoczyć. Jak screen się od razu zamyka to spróbuj dać output screena do pliku.

luxDev
luxDev Pionier
8 lat temu

Są to parametry odpowiedzialne za GarbageCollector który jest używany przez samą Jave do "czyszczenia ramu".

krzukosz
krzukosz
8 lat temu

Okej, wiesz jak optymalnie to ustawić?

@tirex już tak próbowałem lecz i tak nie działa. CPUlimit otwiera się w swoim screenie. Jest może jeszcze jakiś program który może ograniczać procesor?

LinGruby
LinGruby Pionier
8 lat temu

@krzukosz może coś pomoże ;-)

zrób skrypt o zawartości ( o ile składnia jest poprawna i działa bo nie wnikałem w nią )

 #!/bin/sh
 # Skrypt startowy

 s2 cpulimit -l 1 -- java -XX:+UseG1GC -XX:MaxGCPauseMillis=5 -Xmx1024M -Xms512M -jar server.jar

nazwij go np: cpulimit.sh dodaj do /usr/local/bin

i potem startujesz

screen -AmdS sh "cpulimit.sh"  

powinno działać u mnie podobne skrypty działają ;-)

krzukosz
krzukosz
8 lat temu

Jak próbuję uruchomić z screenem to nie uruchamia. Bez screna działa. :( ma ktoś jakiś pomysł jeszcze?

kamcio96
kamcio96
8 lat temu

Zainstaluj https://pterodactyl.io/ Limit ramu, cpu, dysku i wszystko inne ;)