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