Comprei um novo disco rígido para meu servidor e estou tentando reorganizar meus arquivos. Para a primeira transferência, rsync
copiei ~3 GB perfeitamente. Contudo, com o comando equivalente rsync
, a segunda transferência falha.
$ sudo /usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 rsync -aEHAXPx /media/a/ /media/b --delete
...
rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at io.c(820) [sender=3.1.1]
A primeira execução copiou cerca de 550 de 800 GB antes de engasgar. As tentativas mais recentes só conseguem copiar 1 GB antes de morrer. Não tenho certeza se é relevante, mas a fonte é umbackintimeunidade de backup incremental, portanto contém uma tonelada de links físicos. Como posso corrigir esse erro e concluir o comando?
Estou executando o protocolo rsync versão 3.1.1 versão 31.
Responder1
dmesg | grep rsync
[85852.560086] Sem memória: matar processo 4242 (rsync) pontuação 194 ou sacrificar filho [85852.562695] Processo morto 4243 (rsync) total-vm:121948kB, anon-rss:65752kB, arquivo-rss:4kB – Sparhawk
soluções:
- altere sua velocidade de rsync para abaixo da dos seus discos.
--bwlimit=6000
.. USB 2 é 60 MB/s /4 para rw em 2 unidades ou /10 para busca em não SSD... ou obtenha um XU4 com 2 GB de RAM e USB3. - alterar os parâmetros de memória do kernel
echo 100 > /proc/sys/vm/watermark_scale_factor
- forçar uma limpeza de memória durante a operação
echo 3 > /proc/sys/vm/drop_caches
- certifique-se de estar usando o kernel 4.9.29
uname -r