Tengo un trabajo cron rsync que empuja la carga del servidor y activa alertas de monitor. Si configuro el trabajo para que se ejecute con un alto nivel agradable, ¿eso reduciría efectivamente el impacto que tiene en los valores de carga del sistema?
Tengo un trabajo cron rsync que empuja la carga del servidor y activa alertas de monitor. Si configuro el trabajo para que se ejecute con un alto nivel agradable, ¿eso reduciría efectivamente el impacto que tiene en los valores de carga del sistema?
Respuestas:
Cambiar el valor agradable no reducirá directamente la carga del sistema. Sin embargo, puede usarse para dejar más recursos disponibles para los procesos restantes, lo que sospecho es lo que realmente desea.
De http://linux.101hacks.com/monitoring-performance/hack-100-nice-command-examples/
Kernel decide cuánto tiempo de procesador se requiere para un proceso basado en el buen valor. El rango de valor agradable posible es: -20 a 20. Un proceso que tiene un valor agradable de -20 es una prioridad muy alta. El proceso que tiene un buen valor de 20 es de muy baja prioridad.
Entonces, sí, desea ejecutar el trabajo cron a un nivel más alto que los otros procesos si desea asegurarse de que otros procesos tengan prioridad.
Para hacer esto, desea que su script cron se ejecute así:
/bin/nice -n 10 /path/to/cron-script
Esto ejecutará el script cron a un nivel de aumento aumentado en 10. Probablemente desee probar un poco para encontrar un buen equilibrio (juego de palabras no intencionado) entre los procesos restantes y el tiempo de ejecución del script.
Vea también ¿Cómo es un buen trabajo? y http://www.cyberciti.biz/faq/change-the-nice-value-of-a-process/ para más detalles.
Cambiar el buen nivel de un proceso es poco probable que afecte el valor de carga del sistema. El valor de carga del sistema es la longitud promedio de la cola de ejecución , que es básicamente el número de procesos que desean usar la CPU.
Si está ejecutando un proceso vinculado a la CPU (rsync no lo está, pero solo por ejemplo), siempre querrá usar el tiempo de la CPU cuando haya algo disponible. Como siempre quiere ejecutarse, aportará un valor de carga de 1.0 al valor de carga del sistema. No importa cuál sea el nivel agradable del proceso, porque la longitud promedio de la cola de ejecución no se ve afectada por el orden de los procesos en la cola de ejecución.
Puede considerar 3 formas de reducir el impacto de su proceso en la carga del sistema / tiempo de CPU:
nice
comando para reducir manualmente la prioridad de la tarea.cpulimit
comando para pausar repetidamente el proceso para que no exceda un cierto límite.built-in control groups
, un mecanismo que le dice al planificador que limite la cantidad de recursos disponibles para el proceso.Recursos