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

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

пример

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

Где мне нужно изменить уровень приоритета или приоритета для каждого процесса, владельцем которого является пользователь _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 может быть полезным началом.

Другие вопросы по тегам