W ost. czasie zauwazylem zwiekszana ilosc wykorzystania zarowno procesora i pamieci przez niektore procesy Wiem ze mozna w limits.conf (/etc/security) ustalic ilosc pamieci, jednak obciazenie procesora ustawia sie tam w minutach - co nie jest zbytnio dobrym rozwiazaniem Pomyslalem wiec o dynamicznym przydzielaniu pamieci i procesora. Tzn. w zaleznosci od wymagan. Jednak czy cos takiego istnieje ? Czy mozna cos takiego wykonac na limits.conf czy tez trzeba inne narzedzie do tego wykorzystac ?
Moze ktos z was mial podobny problem i wie jak go rozwiazac ?
Zainteresuj się pozycją "nice" i/lub "priority" oraz "memlock" z tego samego pliku. Jeżeli chcesz ograniczać procentowo zużycie procka (np.: "ten proces może użyć max 15% mocy procesora" - nie wiem czy jest sens ustawiać takie limity, ale to inna sprawa) i masz w miarę nowy kernel, sprawdź paczkę cpulimit.
Jest sens - skoro na danej maszynie dziala np 10 procesow, a jeden z nich zabiera 85% procesora, co powoduje ze pozostale nie moga dobrze-wogole dzialac
A czy mozna ustawic dynamicznie limit wykorzystania procesora ? Chodzi mi o to ze w momencie kiedy dziala tylko jeden proces to moze uzyc np. do 80% procka, a po pojawieniu sie drugiego procesu dzieli uzycie procka do 40 % na kazdy.
Ale chyba nie ma sensu ustawiac limitow dla cpu w minutach, bo to sie mija z celem.
A ustawienie piorytetow co spowoduje ? Jak zostana podzielone zasoby cpu dla danych procesow ? I w takim ustawieniu pewnie nie mamy kontroli nad nowymi procesami, dla ktorych nie bedzie limitw
nice/priority nie ustawiają limitów w minutach, to robi "cpu"!
Ustawienie priorytetu lub poziomu nice spowoduje, że w przepychance podczas kolejki po zasoby procesora, jeden z procesów będzie "silniejszy" i to on dostanie moc CPU w pierwszej kolejności (a jak podejrzewam, właśnie o to Ci chodzi).
Bardziej chodzi mi o to zeby kazdy dostal rowno. Wiec czy dobrze rozumiem: jesli ustawie kazdemu procesowi ten sam piorytet to kazdy bedzie uzywal w takim samym stopniu procesora ?
To nie zależy tylko od tych ustawień (wpisz np. w Google: "process scheduler"), ale w przybliżeniu procesy o identycznych limitach powinny dostawać porównywalną ilość czasu procesora.