![깨진 파이프(32), io.c(820)의 소켓 IO 오류(코드 10)로 인해 rsync가 실패하는 이유는 무엇입니까? [폐쇄]](https://linux55.com/image/112250/%EA%B9%A8%EC%A7%84%20%ED%8C%8C%EC%9D%B4%ED%94%84(32)%2C%20io.c(820)%EC%9D%98%20%EC%86%8C%EC%BC%93%20IO%20%EC%98%A4%EB%A5%98(%EC%BD%94%EB%93%9C%2010)%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20rsync%EA%B0%80%20%EC%8B%A4%ED%8C%A8%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
내 서버용 새 하드 드라이브를 구입했고 내 파일을 재구성하려고 합니다. 첫 번째 전송에서는 rsync
약 3GB가 완벽하게 복사되었습니다. 그러나 rsync
해당 명령을 사용하면 두 번째 전송이 실패합니다.
$ 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]
첫 번째 실행에서는 800GB 중 약 550GB를 복사한 후 중단되었습니다. 가장 최근 시도에서는 1GB만 복사하는 데 성공한 후 실패했습니다. 관련성이 있는지는 모르겠지만 출처는 다음과 같습니다.시간을 거슬러드라이브에 많은 수의 하드 링크가 포함되도록 증분 백업합니다. 이 오류를 수정하고 명령을 완료하려면 어떻게 해야 합니까?
rsync 버전 3.1.1 프로토콜 버전 31을 실행 중입니다.
답변1
dmesg | grep rsync
[85852.560086] 메모리 부족: 프로세스 4242(rsync) 점수 194 종료 또는 하위 프로세스 희생 [85852.562695] 프로세스 4243(rsync) 종료 total-vm: 121948kB, anon-rss: 65752kB, file-rss: 4kB – Sparhawk
해결책:
- rsync 속도를 디스크 속도보다 느리게 변경하세요.
--bwlimit=6000
.. USB 2는 60MB/s /4(드라이브 2개 읽기 및 쓰기용) 또는 /10(비SSD 검색용)...또는 2GB RAM 및 USB3.0을 갖춘 XU4를 구입하세요. - 커널 메모리 매개변수 변경
echo 100 > /proc/sys/vm/watermark_scale_factor
- 작동 중 강제 메모리 삭제
echo 3 > /proc/sys/vm/drop_caches
- 4.9.29 커널을 사용하고 있는지 확인하세요.
uname -r