Я хочу увеличить вежливость обслуживания (уменьшить приоритет ЦП) запущен как выделенный пользователь или группа во время процесса загрузки. Я не могу определить вежливость или приоритет в /etc/security/limits.conf
или ./limits.d/
каталог для желаемого пользователя, потому что запись не будет соблюдаться для служб. (?)
В частности, у меня есть несколько небольших vServer с CentOS 6.6, и я хочу запустить tor relay (Луковый маршрутизатор) на каждой. Демон tor запускается при загрузке как служба, настроенная через sudo /sbin/chkconfig
(уровень выполнения: 2,3,4,5). Пользователь и группа для процесса tor: _tor
.
Где мне изменить уровень приоритета или приятности для каждого процесса, владельцем которого является пользователь _tor? Значение nice следует применять при каждой загрузке и при запуске службы вручную (service tor start
).
Классический подход заключается в использовании 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 после запуска демона.
Лучше использовать контрольные группы. Это немного слишком долго для ответа, но Документация Red Hat может быть полезным началом.