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?
10
Respuestas:
No reducirá su carga.
Solo permitirá que otros procesos usen el tiempo de CPU con mayor frecuencia si existe una posible contención de recursos (varios procesos "compiten" por no tener suficiente tiempo de CPU disponible).
fuente
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/
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í:
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.
fuente
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.
fuente
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
http://blog.scoutapp.com/articles/2014/11/04/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups
fuente