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?
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?
Odpowiedzi:
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/
Jądro decyduje o tym, ile czasu procesor jest wymagane dla procesu na podstawie dobrej wartości. Możliwy dobry zakres wartości to: -20 do 20. Proces, który ma niezłą wartość -20, ma bardzo wysoki priorytet. Proces o niezłej wartości 20 ma bardzo niski priorytet.
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:
/bin/nice -n 10 /path/to/cron-script
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.
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.
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