3 votos

Cronjob bajo Ubuntu corre lento

He configurado un cronjob (que se ejecuta un script de bash) con crontab -e que localmente copias de algunos datos de un disco duro a otro (rsync) y después de que los compara (diff).

He ejecutado el script manualmente para ver si todo funciona según lo planeado. Se copian 7 GB y tomó cerca de 30 min. Cuando se inicia como cronjob que se tarda 4h, de nuevo la copia de 7 GB.

Los datos de secuencia de comandos y no se había cambiado desde la llamada manual y el cronjob llamada de la secuencia de comandos.

  • Puede ser que el cron que se ejecute como demonios, con muy poca prioridad?
  • Si es así, ¿cómo puedo cambiar eso?

4voto

Ayush Goyal Puntos 141

Si mi memoria me sirve bien cron se ejecuta con un buen nivel de 2.

Uso nice. Ejemplo:

nice -20 {script} >>/dev/null 2>&1

(o un poco más alto (-10, -15) si -20 está acaparando el sistema demasiado). Todos los "niños" dentro de {comandos} se ejecutará con el mismo nice nivel como el "padre de familia".


  • la página man de niza.
  • También hay ionice para IO de programación.
  • "Nicenesses" oscila entre -20 (más favorable de programación) a 19 (menos favorables de programación).
  • Un proceso con una bonita +15 recibirá un 25% de tiempo de CPU fuera de un proceso con un bonito +0 (que es (20 − 15)/(20 − 0) = 0.25).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: