¿Equivalente de `nice` para el sistema de archivos IO?

11

Cuando ejecuto un rsynctrabajo de copia de seguridad que implica copiar archivos grandes, la máquina que ejecuta la copia de seguridad (tanto computadoras de escritorio Mac como servidores Linux) se detiene y el promedio de carga se dispara.

He intentado:

  • niceing el rsyncproceso (no ayuda - el cuello de botella es el disco)
  • En Linux, reniceing a kjournald(ayuda, pero parece un truco y no funciona en Mac)
  • Usar la --bwlimit rsyncbandera (ayuda, pero significa que todas las transferencias son lentas, incluso cuando no es necesario)

Entonces, ¿hay alguna forma de que pueda hacer " nice" rsyncIO para que las máquinas puedan usarse mientras se ejecuta la copia de seguridad?

PD: Soy consciente de los peligros de rsyncMac ... Pero he usado BackupBouncer para verificar mis copias de seguridad, y parecen estar bien.

David Wolever
fuente

Respuestas:

7

Parece que setpriorityse supone que la API en Mac OS X puede alterar la programación de E / S (consulte http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/setpriority.2.html ) . No tengo ningún MacOS a mano, así que no puedo probar que nicerealmente cambie la prioridad de IO.

En el lado de Linux, ionicees lo que estás buscando.

Evan Anderson
fuente
1
Ah gracias. Esto es lo que setprioritydice la página de manual: "Cuando se configura un subproceso en estado de fondo, la prioridad de programación se establece en el valor más bajo, las E / S de disco y de red se aceleran". - lo que parece indicar que las E / S de disco / red solo se estrangulan cuando algo se reduce a 20 (el "estado de fondo").
David Wolever
2
Algunas pruebas rápidas también parecen confirmar esto: cuando la secuencia de comandos de la copia de seguridad solo se asignó a 10 (es decir, nice backup), noté una desaceleración ... Pero cuando se redujo a 20 (es decir, nice -n 20 backup), no noté ninguna desaceleración.
David Wolever
(y por "noté una desaceleración" quiero decir "noté que los programas interactivos que se ejecutan en la computadora no respondían tan rápido como lo hacen normalmente")
David Wolever
1
Sin embargo, es un poco decepcionante que solo se acelere con una prioridad de 20.
Evan Anderson
+1, buena respuesta. Siempre me pregunté por hacer girar IO.
Avery Payne