Nautilus의 GUI 복사본을 사용하는 대신 파일을 CP하는 것이 절반 이상 느린 이유는 무엇입니까? (AFC 프로토콜)

Nautilus의 GUI 복사본을 사용하는 대신 파일을 CP하는 것이 절반 이상 느린 이유는 무엇입니까? (AFC 프로토콜)

나는 탈옥된 iPod Touch를 가지고 있고 afc2add 패키지를 가지고 있습니다. 우분투 노트북에 연결하면 iPod의 미디어 디렉터리와 앱 파일 공유 폴더도 자동으로 마운트됩니다. Nautilus를 사용하여 파일을 미디어 폴더로 전송할 때 최고 속도는 약 5MB/s입니다. 그러나 터미널을 사용하여 ~/.gvfs/Matt's iPod[노틸러스에서는 "Matt's iPod"으로 표시됨] 폴더에 파일을 복사할 때 약 2MB/s까지만 올라가는 것을 보았습니다.

Nautilus의 GUI 복사본을 사용하는 대신 파일을 cp하는 것이 왜 절반 이상 느린지에 대한 단서를 줄 수 있는 사람이 있습니까?

그건 그렇고, 터미널 복사로 얼마나 빨리 진행되는지 알 수 있습니다. pv [간단히 말하면: pv $1 > $2] 스크립트가 있는데 약 1.5MB/s입니다. 그래서 cp도 시도하고 매초마다 파일에 루프를 설정했는데 du매초마다 약 2MB씩 증가했습니다.

답변1

노틸러스는 더 적은 수의 간접 계층을 거치게 되므로 차이가 발생할 수 있습니다.

Nautilus는 기본 gvfs 애플리케이션이므로 gvfs 백엔드와 직접 통신합니다.

대조적으로, cp는 다음을 통해 커널과 대화합니다.퓨즈에 마운트된 파일 시스템은 ~/.gvfs프로세스에 의해 처리되며 gvfs-fuse-daemon, 차례로 gvfs 백엔드와 통신합니다. POSIX API와 gvfs 간의 임피던스 불일치로 인해 전송 효율성이 떨어질 수 있습니다.

gvfs-copy패키지 의 명령을 사용하여 명령줄 gvfs-bin에서 적절한 URL에 복사하면 비슷한 성능을 얻을 수 있습니다 .

관련 정보