GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Rsync Gagal Dengan Pipa Rusak (32), Kesalahan Di Soket Io (kode 10) Di Io.c (820)??

Tutup. Pertanyaan ini di luar topik. Saat ini tidak menerima jawaban.

Ingin memperbaiki pertanyaan ini? Perbarui pertanyaan agar sesuai dengan topik untuk Unix &Linux Stack Exchange.

Ditutup 4 tahun yang lalu.


Perbaiki pertanyaan ini

Saya membeli hard drive baru untuk server saya, dan saya mencoba mengatur ulang file saya. Untuk transfer pertama, rsync disalin ~ 3 GB dengan sempurna. Namun, dengan setara rsync perintah, transfer kedua gagal.

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

Jalankan pertama disalin sekitar 550 dari 800 GB sebelum tersedak. Upaya yang lebih baru hanya berhasil menyalin 1 GB sebelum mati. Saya tidak yakin apakah itu relevan, tetapi sumbernya adalah drive cadangan inkremental backintime, jadi ini berisi banyak tautan keras. Bagaimana cara memperbaiki kesalahan ini dan menyelesaikan perintah?

Saya menjalankan rsync versi 3.1.1 protokol versi 31.

Jawaban yang Diterima:

dmesg | grep rsync

[85852.560086] Kehabisan memori:Bunuh proses 4242 (rsync) skor 194 atau korbankan anak [85852.562695] Proses mati 4243 (rsync) total-vm:121948kB, anon-rss:65752kB, file-rss:4kB – Sparhawk

solusi:

  • ubah kecepatan rsync Anda menjadi di bawah kecepatan disk Anda.--bwlimit=6000 .. USB 2 adalah 60MB/s /4 untuk rw lebih dari 2 drive atau /10 untuk mencari di non ssd… atau dapatkan XU4 dengan RAM 2GB dan USB3.
  • ubah parameter memori kernel echo 100 > /proc/sys/vm/watermark_scale_factor
  • memaksa pembersihan memori selama operasi echo 3 > /proc/sys/vm/drop_caches
  • pastikan Anda menggunakan kernel 4.9.29 uname -r

Linux
  1. Mengapa Tomcat bekerja dengan port 8080 tetapi tidak dengan 80?

  2. Kode kesalahan apa yang dikembalikan oleh proses yang segfault?

  3. Mengapa ENOENT berarti Tidak ada file atau direktori seperti itu?

  1. Mengapa dentang masih membutuhkan libgcc.a untuk mengkompilasi kode saya?

  2. Mengapa kode ini mogok dengan pengacakan alamat aktif?

  3. Mengapa net rpc shutdown gagal dengan kredensial yang tepat?

  1. Mengapa sed gagal dengan karakter Internasional dan bagaimana cara memperbaikinya?

  2. Mengapa git gagal saat Push/fetch dengan Terlalu banyak file terbuka

  3. Mengapa rsync tidak menggunakan delta-transfer untuk file lokal?