Как настроить правильность или приоритетность службы, запускаемой при загрузке
Я хочу увеличить полезность службы (уменьшить приоритет процессора), запущенной как выделенный пользователь или группа во время процесса загрузки. Я не могу определить милость или приоритет в /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 может быть полезным началом.