Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Unix e Linux Stack Exchange.
Chiuso 4 anni fa.
Migliora questa domanda
Ho acquistato un nuovo disco rigido per il mio server e sto cercando di riorganizzare i miei file. Per il primo trasferimento, rsync
copiato ~ 3 GB perfettamente. Tuttavia, con l'equivalente rsync
comando, il secondo trasferimento non riesce.
$ 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]
La prima esecuzione ha copiato circa 550 di 800 GB prima di soffocare. Tentativi più recenti riescono a copiare solo 1 GB prima di morire. Non sono sicuro che sia rilevante, ma la fonte è un'unità di backup incrementale backintime, quindi contiene un sacco di collegamenti reali. Come posso correggere questo errore e completare il comando?
Sto eseguendo il protocollo rsync versione 3.1.1 versione 31.
Risposta accettata:
dmesg | grep rsync
[85852.560086] Memoria insufficiente:processo di uccisione 4242 (rsync) punteggio 194 o sacrificio figlio [85852.562695] Processo ucciso 4243 (rsync) total-vm:121948kB, anon-rss:65752kB, file-rss:4kB – Sparhawk
soluzioni:
- cambia la velocità di rsync al di sotto di quella dei tuoi dischi.
--bwlimit=6000
.. USB 2 è 60 MB/s /4 per rw su 2 unità o /10 per la ricerca su non ssd... o prendi un XU4 con 2 GB di RAM e USB3. - modifica i parametri della memoria del kernel
echo 100 > /proc/sys/vm/watermark_scale_factor
- forza un'eliminazione della memoria durante l'operazione
echo 3 > /proc/sys/vm/drop_caches
- assicurati di utilizzare il kernel 4.9.29
uname -r