Por que o rsync falha com Broken pipe (32), erro no socket IO (código 10) em io.c (820)? [fechadas]

2

Comprei um novo disco rígido para o meu servidor e estou tentando reorganizar meus arquivos. Para a primeira transferência, rsync copiou ~ 3 GB perfeitamente. No entanto, 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 asfixiar. Tentativas mais recentes só conseguem copiar 1 GB antes de morrer. Não tenho certeza se é relevante, mas a fonte é uma unidade de backup incremental backintime , por isso ela contém uma tonelada de links rígidos. Como posso corrigir esse erro e completar o comando?

Estou executando a versão 31 do protocolo rsync versão 3.1.1.

    
por Sparhawk 26.05.2017 / 05:57

1 resposta

3

dmesg | grep rsync

[85852.560086] Out of memory: Kill process 4242 (rsync) score 194 or sacrifice child [85852.562695] Killed process 4243 (rsync) total-vm:121948kB, anon-rss:65752kB, file-rss:4kB – Sparhawk

soluções:

  • mude sua velocidade de rsync para abaixo de seus discos. --bwlimit=6000 .. USB 2 é 60MB / s / 4 para rw mais de 2 unidades ou / 10 para procurar em non ssd ... ou obter um XU4 com 2GB de RAM e USB3.
  • altere 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
  • verifique se você está usando o kernel 4.9.29 uname -r
por 26.05.2017 / 07:40