GNU/Linux >> Znalost Linux >  >> Linux

Proč Rsync selže s rozbitým potrubím (32), chyba v zásuvce Io (kód 10) na Io.c (820)?

Zavřeno. Tato otázka je mimo téma. Momentálně nepřijímá odpovědi.

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

Linux
  1. Chyba instalace ConfigParser – python setup.py egg_info se nezdařilo s kódem chyby 1 [Vyřešeno]

  2. Linux – Proč Rsync na Linuxu nezachovává všechna časová razítka (čas vytvoření)?

  3. Proč Tomcat pracuje s portem 8080, ale ne s 80?

  1. Jaký chybový kód vrací proces, který segfaults?

  2. Proč git selže při push/fetch s příliš mnoha otevřenými soubory

  3. Proč ENOENT znamená Žádný takový soubor nebo adresář?

  1. Proč clang stále potřebuje libgcc.a ke kompilaci mého kódu?

  2. Proč tento kód selhává při zapnuté randomizaci adres?

  3. Proč se vypnutí net rpc nezdaří se správnými přihlašovacími údaji?