대용량 파일 복사를 실행할 때 rsync
(내 로컬 하드 드라이브의 디렉터리 내에서)
+ rsync -P bigfile1.img bigfile2.img
bigfile1.img
6,512,705,536 100% 413.76MB/s 0:00:15 (xfr#1, to-chk=0/1)
먼저 100%에 도달한 진행률을 표시한 다음 종료하기 전에 변경 사항 없이 거의 동일한 시간을 기다립니다.
이는 일부 캐싱으로 인한 것일 수 있습니다.
실제 진행 상황을 보여줄 수 있나요?
답변1
당신이 시도할 수 있는 두 가지가 있습니다.
- --debug=all 또는 -v verbose를 사용해 보세요.
- 반환 프롬프트를 기다리는 동안 #sstrace -ttT를 시도하세요.
표시된 전송 속도, 파일 크기 및 소요 시간(0.15)을 기준으로 보면 양호해 보입니다. 이 시간에 대기 시간이 포함되어 있는지 확인하십시오.
답변2
짧은 대답: rsync --outbuf=L
실시간 진행 상황을 얻으려고 노력하십시오.
man
아마도 출력 버퍼링일 것입니다. rsync 페이지에 언급된 --bwlimit
대역폭을 제한하는 스위치가 있습니다 .
--bwlimit=속도
(...)
데이터의 내부 버퍼링으로 인해 --progress 옵션은 데이터가 전송되는 속도를 정확하게 반영하지 못할 수 있습니다. 이는 데이터가 빠르게 버퍼링될 때 일부 파일이 빠르게 전송되는 것처럼 보일 수 있는 반면, 출력 버퍼 플러시가 발생할 때 다른 파일은 매우 느리게 나타날 수 있기 때문입니다. 이 문제는 향후 버전에서 수정될 수 있습니다.
스위치 --outbuf
:
--outbuf=MODE 출력 버퍼링 모드를 설정합니다. 모드는 "없음"("버퍼링 없음"이라고도 함), "행" 또는 "블록"("전체"라고도 함)일 수 있습니다. 패턴에 문자를 지정하고 대문자 또는 소문자를 사용할 수 있습니다. 이 옵션의 주요 용도는 전체 버퍼링을 다음으로 변경하는 것입니다.rsync 출력이 파일로 이동하는 경우 라인 버퍼링 또는 파이프라인.