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