Cómo configurar la amabilidad o prioridad del servicio iniciado en el arranque

Cómo configurar la amabilidad o prioridad del servicio iniciado en el arranque

quiero aumentar elamabilidad de un servicio(disminuir la prioridad de la CPU) se inició como un usuario o grupo dedicado durante el proceso de arranque. No puedo definir la amabilidad o prioridad en el directorio /etc/security/limits.confo ./limits.d/para el usuario deseado porque la entrada no será observada para los servicios. (?)

Ejemplo

En particular, tengo algunos servidores virtuales pequeños con CentOS 6.6 y quiero ejecutar un retransmisión Tor (El enrutador de cebolla) en cada. El demonio Tor se inicia al arrancar como un servicio, configurado mediante sudo /sbin/chkconfig(nivel de ejecución: 2,3,4,5). El usuario y grupo para el proceso tor es _tor.

¿Dónde tengo que cambiar el nivel agradable o de prioridad para cada proceso del que el usuario _tor es propietario? El valor agradable debe aplicarse en cada inicio y en el inicio manual del servicio ( service tor start).

Respuesta1

El enfoque clásico es utilizar nicey/o ionicedentro del script de inicio del servicio. Probablemente tengas algo como:

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

y cambiar eso a

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

Alternativamente, el script de inicio a menudo registra el PID de un demonio /var/run/pid-of-tor-daemono similar y usted puede usarlo reniceen ese PID después de que el demonio se haya iniciado.


Un mejor enfoque es con cgroups. Esto es un poco demasiado largo para una respuesta aquí, pero elDocumentación de Red Hatpodría ser un comienzo útil.

información relacionada