Gnome, Nautilus의 USB로 파일 복사가 100% 또는 거의 100% 근처에서 중지됩니다.

Gnome, Nautilus의 USB로 파일 복사가 100% 또는 거의 100% 근처에서 중지됩니다.

예전에도 비슷한 문제가 있었는데 어떻게 해결했는지 기억이 안나네요.

FAT를 사용하여 USB 스틱에 무언가를 복사하려고 하면 거의 끝 부분에서 중지되고 때로는 100%에서 중지됩니다. 물론 메모리 스틱을 다른 곳으로 옮겼을 때 전체 파일이 포함되지 않았습니다. (파일은 영화입니다!)

mount -olush를 사용하여 장치 마운트를 시도했지만 동일한 문제가 발생했습니다.

또한 새로운 FAT 파티션으로 USB 스틱을 포맷했습니다.

내가 어떻게 해야 할지 아시나요?

p.s. 나는 이것이 운영 체제, 즉 데비안과 아무 관련이 없다고 생각하며 SSD 드라이브에서 대처해도 문제가 발생하지 않을 것이라고 믿습니다.

답변1

이는 프로그램이 "이 데이터를 작성하세요"라고 말하고 Linux 커널이 이를 디스크에 대기 중인 메모리 버퍼에 복사한 다음 "확인, 완료"라고 말하기 때문에 발생합니다. 그래서 프로그램은 모든 것을 복사했다고 생각합니다. 그런 다음 프로그램은 파일을 닫지만 갑자기 커널은 버퍼가 디스크에 푸시될 때까지 기다리게 합니다.

따라서 불행하게도 프로그램은 버퍼를 플러시하는 데 시간이 얼마나 걸릴지 알 수 없기 때문에 알려줄 수 없습니다.

vm.dirty_bytes고급 사용자 트릭을 시도하고 싶다면 커널 매개변수를 (15MB)와 같이 설정하여 15000000Linux에서 사용하는 버퍼 크기를 줄일 수 있습니다. 이는 애플리케이션이 미리 15MB 이상의 실제 진행 상황을 확보할 수 없음을 의미합니다. (커널 매개변수를 동적으로 변경할 수 있지만 sudo sysctl vm.dirty_bytes=15000000재부팅 후에도 이를 유지하려면 /etc/sysctl.conf배포판에 특정한 구성 파일을 변경해야 합니다.)

부작용은 이 설정으로 인해 컴퓨터의 데이터 쓰기 처리량이 낮아질 수 있다는 것입니다. 그러나 일반적으로 많은 양의 데이터를 쓰는 동안 프로그램이 오랫동안 실행되는 것을 보는 것은 프로그램을 갖는 혼란과 비슷합니다. 매우 도움이 됩니다. 프로그램은 작업을 마친 것처럼 보이지만 커널이 실제 작업을 수행할 때 시스템이 심하게 지연됩니다. 이 값 을 매우 작은 값으로 설정하면 dirty_bytes사용 가능한 메모리가 부족하거나 갑자기 많은 양의 데이터를 쓰는 프로그램을 실행할 때 시스템이 응답하지 않는 것을 방지하는 데 도움이 됩니다.

하지만 너무 작게 설정하지 마세요! 커널이 1/4초 이내에 버퍼를 일반 하드 드라이브로 플러시할 수 있다는 대략적인 추정치로 15MB를 사용했습니다. 내 시스템이 "느린" 느낌을 받지 않게 해줍니다.

답변2

파티에 늦었지만 대용량 파일을 USB 스틱에 복사하는 데 사용하는 해결 방법은 rsync.

내가 항상 성공적으로 사용하는 기본 구문은 다음과 같습니다.

rsync -avh /home/user/Documents /media/user/myusbstick

경고하다:문서의 전체 폴더를 복사하려면 구문을 사용하면 됩니다. 하지만 복사하고 싶다면오직이 파일과폴더가 아님슬래시를 추가해야 합니다. 이와 같이:

rsync -avh /home/user/Documents/ /media/user/myusbstick

물론 파일을 복사하려면 다음을 수행하십시오.

rsync -avh /home/user/Documents/file1 /media/user/myusbstick

여러 파일의 경우

rsync -avh /home/user/Documents/file1 /home/user/Documents/file2 /media/user/myusbstick

이 구문은 복사하려는 모든 폴더/파일에 적용됩니다.

이것이 실제 해결책은 아니지만 성가신 문제를 피할 수 있는 간단하고 안전한 방법이라는 것을 알고 있습니다.

답변3

오래된 질문이지만 문제가 여전히 발생하는 것 같습니다. 권장되는 대로 버퍼를 15MB로 설정하세요.여기Ubuntu 19.04에서는 작동하지 않아 시스템이 정지됩니다.

1.5GB 파일을 새로 포맷한 빈 FAT32 16GB 드라이브에 복사하려고 합니다. 완료되는지 확인하기 위해 약 10분 동안 실행했지만 운이 없었습니다.

NTFS로 다시 포맷하면 작업이 10초 이내에 완료됩니다. FAT32는 크기가 4GB 미만인 모든 단일 파일을 허용하기로 되어 있기 때문에 이것이 왜 중요한지는 잘 모르겠습니다. 그러나 정상적으로 작동하는 것 같습니다. 이는 MacOS와 함께 사용하려는 드라이브에 이상적인 솔루션은 아니지만 다른 모든 사용 사례에서는 쉬운 해결 방법입니다. exFAT도 비슷한 효과가 있을 것이라고 생각하지만 테스트하지는 않았습니다.

관련 정보