GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum schlägt Rsync mit Broken Pipe (32), Fehler in Socket Io (Code 10) bei Io.c(820) fehl??

Geschlossen. Diese Frage ist off-topic. Antworten werden derzeit nicht akzeptiert.

Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie für Unix &Linux Stack Exchange relevant ist.

Vor 4 Jahren geschlossen.


Verbessern Sie diese Frage

Ich habe eine neue Festplatte für meinen Server gekauft und versuche, meine Dateien neu zu organisieren. Für die erste Übertragung rsync ~3 GB perfekt kopiert. Allerdings mit dem entsprechenden rsync Befehl, schlägt die zweite Übertragung fehl.

$ 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]

Der erste Lauf kopierte ungefähr 550 von 800 GB, bevor er erstickte. Neuere Versuche schaffen es nur, 1 GB zu kopieren, bevor sie sterben. Ich bin mir nicht sicher, ob es relevant ist, aber die Quelle ist ein inkrementelles Backintime-Backup-Laufwerk, also enthält es eine Menge fester Links. Wie kann ich diesen Fehler beheben und den Befehl ausführen?

Ich verwende rsync Version 3.1.1 Protokollversion 31.

Akzeptierte Antwort:

dmesg | grep rsync

[85852.560086] Nicht genügend Arbeitsspeicher:Beenden Sie Prozess 4242 (rsync), erzielen Sie 194 oder opfern Sie das Kind [85852.562695] Beendeter Prozess 4243 (rsync) Gesamt-VM:121948 KB, Anon-RSS:65752 KB, Datei-RSS:4 KB – Sparhawk

Lösungen:

  • Ändern Sie Ihre rsync-Geschwindigkeit auf weniger als die Ihrer Festplatten.--bwlimit=6000 .. USB 2 ist 60 MB/s /4 für rw über 2 Laufwerke oder /10 für die Suche auf Nicht-SSD… oder besorgen Sie sich einen XU4 mit 2 GB RAM und USB3.
  • Kernel-Speicherparameter ändern echo 100 > /proc/sys/vm/watermark_scale_factor
  • Eine Speicherbereinigung während des Vorgangs echo 3 > /proc/sys/vm/drop_caches erzwingen
  • Stellen Sie sicher, dass Sie Kernel 4.9.29 uname -r verwenden

Linux
  1. Warum schlägt Git beim Push/Fetch mit zu vielen geöffneten Dateien fehl?

  2. Warum bedeutet ENOENT No such file or directory?

  3. Warum bekomme ich cat:Schreibfehler:Rohrbruch selten und nicht immer

  4. Warum schlägt das Yum-Update in CentOS 6.4 fehl?

  5. Warum wird dieser ldapadd-Befehl mit einem ungültigen Syntaxfehler beendet?

Beheben des Fehlers „Broken Pipe“ mit SSH-Verbindung

Warum stürzt dieser Code bei aktivierter Adress-Randomisierung ab?

Warum schlägt das Herunterfahren von Net RPC mit den richtigen Anmeldeinformationen fehl?

Warum verwendet rsync keine Delta-Übertragung für lokale Dateien?

Warum kann rsync keine Dateien von /sys in Linux kopieren?

Warum schlägt das Einbinden einer Datei nach dem Aufheben der Verknüpfung mit ENOENT fehl?