
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.conf
o ./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 nice
y/o ionice
dentro 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-daemon
o similar y usted puede usarlo renice
en 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.