Как настроить приоритетность запускаемой при загрузке службы

Как настроить приоритетность запускаемой при загрузке службы

Я хочу увеличитьлюбезность обслуживания(уменьшить приоритет ЦП) запущен как выделенный пользователь или группа во время процесса загрузки. Я не могу определить любезность или приоритет в каталоге /etc/security/limits.confили ./limits.d/для нужного пользователя, поскольку запись не будет наблюдаться для служб. (?)

Пример

В частности, у меня есть несколько небольших виртуальных серверов с CentOS 6.6, и я хочу запустить ретранслятор Tor (Луковый маршрутизатор) на каждом. Демон Tor запускается при загрузке как служба, настроенная через sudo /sbin/chkconfig(уровень запуска: 2,3,4,5). Пользователь и группа для процесса Tor — _tor.

Где мне нужно изменить nice или уровень приоритета для каждого процесса, владельцем которого является пользователь _tor? Значение nice должно применяться при каждой загрузке и при ручном запуске службы ( service tor start).

решение1

Классический подход заключается в использовании niceи/или ioniceв скрипте запуска сервиса. Вероятно, у вас есть что-то вроде:

case "$1" in
    start)
    echo "Starting tor daemon"
    /path/to/tor-daemon

и измените это на

    echo "Starting tor daemon"
    nice /path/to/tor-daemon

В качестве альтернативы сценарий запуска часто регистрирует PID демона /var/run/pid-of-tor-daemonили что-то подобное, и вы можете использовать reniceэтот PID после запуска демона.


Лучший подход — cgroups. Это немного слишком длинно для ответа здесь, ноДокументация Red Hatможет быть полезным началом.

Связанный контент