Chcete zlepšit tuto otázku? Aktualizujte otázku, aby byla aktuální pro Unix a Linux Stack Exchange.
Zavřeno před 4 lety.
Vylepšete tuto otázku
Koupil jsem si nový pevný disk pro svůj server a pokouším se reorganizovat své soubory. Pro první přenos rsync
dokonale zkopírované ~3 GB. Nicméně s ekvivalentem rsync
příkaz, druhý přenos selže.
$ 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]
První spuštění zkopírovalo asi 550 z 800 GB před udušením. Novější pokusy dokážou před smrtí zkopírovat pouze 1 GB. Nejsem si jistý, jestli je to relevantní, ale zdrojem je přírůstková zálohovací jednotka backintime, takže obsahuje spoustu pevných odkazů. Jak mohu opravit tuto chybu a dokončit příkaz?
Používám protokol rsync verze 3.1.1 verze 31.
Přijatá odpověď:
dmesg | grep rsync
[85852.560086] Nedostatek paměti:Zabijte proces 4242 (rsync) skóre 194 nebo obětujte dítě [85852.562695] Zabitý proces 4243 (rsync) celkem-vm:121948kB, anon-rss:65752kB, soubor PRhawk-4P
řešení:
- změňte rychlost rsync pod rychlost vašich disků.
--bwlimit=6000
.. USB 2 je 60 MB/s /4 pro rw přes 2 disky nebo /10 pro vyhledávání na non ssd… nebo si pořiďte XU4 s 2 GB RAM a USB3. - změňte parametry paměti jádra
echo 100 > /proc/sys/vm/watermark_scale_factor
- vynutit vymazání paměti během operace
echo 3 > /proc/sys/vm/drop_caches
- ujistěte se, že používáte jádro 4.9.29
uname -r