Cuando se usa rsync + ssh para acceder a una máquina remota, ¿hay alguna manera de "agrandar" el proceso rsync en la máquina remota (para disminuir su prioridad)?
Edición de la pregunta para aclarar:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
backups 16651 86.2 0.1 3576 1636 ? Rs 11:06 0:06 rsync --ser...
(línea rsync cortada)
Este es un trabajo cron de respaldo que normalmente se ejecuta a las 4 a.m., pero cuando estoy despierto (y me comprometo o uso Bugzilla alojado en esa misma máquina), mata el rendimiento del servidor, por lo que quería un "truco" rápido para intentar solucionarlo un poco
--rsync-path="ionice -c 3 nice rsync"
, aunque los Linux modernos reducen automáticamente la prioridad de E / S para los procesos agradables (consulte la página de manual que he vinculado).nice 0
ionice
, configurar la--bwlimit
opción es buena para un rsync más agradable.--rsync-path
opción que estaba especificando.--rsync-path
opción que tienesrsync --rsync-path="ionice -c 3 nice -n 12 rsync" localDirectory remoteHost:/tmp/
/etc/default/rsync
elRSYNC_NICE='17'
valor y elRSYNC_IONICE='-c3'
valorPara ambos, el valor de ionice será para la prioridad del disco duro
Tenga en cuenta que para Linux solo el
cfq
planificador realmente implementa las clases y prioridades de IO. Si el administrador del sistema remoto ha optado por el planificador de E / Snoop
,deadline
o alguna variante más exótica, es posible queionice
realmente no haga nada. Uno debería poder obtener un alto rendimientocfq
y aún poder usar las clases y prioridades de IO ajustando cfq correctamente .para un buen valor para la prioridad del procesador
fuente
/etc/default/rsync
? ¿Rsync está leyendo este archivo, o lo hace linux-flavour / distribution?/etc/default/rsync
es el archivo predeterminado para el modo rsync daemon. Supongo que solo se aplica si te conectas al demonio rsync a través del protocolo rsync. Supongo que no se aplica si lo llamas a través de ssh.Una solución rápida y sucia sería crear un pequeño script de envoltorio llamado 'rsync' que sombree el $ PATH antes del binario rsync real como:
O configure el archivo authorised_keys para que realice el nicing de rsync. (Suponiendo que está usando las teclas ssh).
ejemplo:
Ahora en su /home/user/bin/nice-rsync.sh
HTH
fuente
Puede deshabilitar la compresión a lo largo de la red, sin incluir el
-z
argumento, que podría ahorrar algo de tiempo de CPU en ambos lados. O cambie cómo rsync usa sumas de verificación, mire--checksum
fuente
Rsync no debería usar mucha CPU. Dudo que pueda forzar una cierta amabilidad desde el otro extremo, pero lo que podría hacer es limitar el ancho de banda que rsync está usando con un firewall, lo que en última instancia reduciría la cantidad de procesamiento que podría hacer en X cantidad de tiempo.
fuente
rsync
no requiere mucha CPU, pero puede aparecer,top
sin embargo, dependiendo de si el núcleo actual considera que la E / S espera como ocupada. Además, si algún otro proceso necesita acceder al almacenamiento yrsync
se permite que se ejecute a un ritmo completo, todos los demás procesos se ralentizarán como resultado.No lo creo, necesitas una solución personalizada para eso ... usa ftp
fuente