Mam zadanie rsync cron, które przesuwa obciążenie serwera i wyzwala alerty monitorowania. Jeśli ustawię uruchamianie zadania z wysokim ładnym poziomem, czy to skutecznie zmniejszy wpływ, jaki ma on na wartości obciążenia systemu?
10
Odpowiedzi:
Nie zmniejszy to obciążenia.
Pozwoli to innym procesom częściej wykorzystywać czas procesora tylko wtedy, gdy istnieje możliwość rywalizacji o zasoby (kilka procesów „konkuruje” o zbyt mało dostępnego czasu procesora).
źródło
Zmiana ładnej wartości nie zmniejszy bezpośrednio obciążenia systemu. Można go jednak wykorzystać, aby pozostawić więcej zasobów dostępnych dla pozostałych procesów, co, jak podejrzewam, jest tym, czego naprawdę chcesz.
Od http://linux.101hacks.com/monitoring-performance/hack-100-nice-command-examples/
Tak więc, chcesz uruchomić zadanie cron na wyższym poziomie niż inne procesy, jeśli chcesz mieć pewność, że inne procesy będą miały priorytet.
Aby to zrobić, chcesz, aby skrypt cron był wykonywany w następujący sposób:
Spowoduje to uruchomienie skryptu cron z wartością dodaną zwiększoną o 10. Prawdopodobnie chcesz trochę przetestować, aby znaleźć niezłą (nie zamierzoną) równowagę między pozostałymi procesami a czasem wykonania skryptu.
Zobacz także Jak miło działa? oraz http://www.cyberciti.biz/faq/change-the-nice-value-of-a-process/, aby uzyskać więcej informacji.
źródło
Zmiana ładnego poziomu procesu raczej nie wpłynie na wartość obciążenia systemu. Wartość obciążenia systemu to średnia długość kolejki uruchomień , która jest w zasadzie liczbą procesów, które chcą korzystać z procesora.
Jeśli uruchamiasz proces związany z procesorem (rsync nie jest, ale tylko na przykład), to zawsze będzie chciał wykorzystać czas procesora, ilekroć jest dostępny. Ponieważ zawsze chce działać, przyczyni się do obciążenia wartości 1,0 do wartości obciążenia systemu. Nie ma znaczenia, jaki jest ładny poziom procesu, ponieważ na kolejność procesów nie ma wpływu średnia długość kolejki uruchamiania.
źródło
Możesz rozważyć 3 sposoby zmniejszenia wpływu procesu na obciążenie systemu / czas procesora:
nice
polecenia, aby ręcznie obniżyć priorytet zadania.cpulimit
polecenia, aby wielokrotnie wstrzymywać proces, aby nie przekroczył określonego limitu.built-in control groups
, mechanizmu, który nakazuje harmonogramowi ograniczenie ilości zasobów dostępnych dla procesu.Zasoby
http://blog.scoutapp.com/articles/2014/11/04/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups
źródło