Eu tenho um iPod Touch desbloqueado e tenho o pacote afc2add. Quando eu o conecto ao meu laptop Ubuntu, ele monta automaticamente o diretório Media do meu iPod, bem como as pastas de compartilhamento de arquivos do aplicativo. Quando uso o Nautilus para transferir um arquivo para a pasta Media, o pico é de cerca de 5 MB/s. No entanto, quando uso um terminal para copiar um arquivo para a ~/.gvfs/Matt's iPod
pasta [No Nautilus, ele aparece como "Matt's iPod"], só o vi subir para cerca de 2 MB/s.
Alguém pode dar alguma pista sobre por que é mais da metade mais lento copiar um arquivo em vez de usar a cópia da GUI do Nautilus?
A propósito, posso dizer o quão rápido está indo com uma cópia do terminal, tenho um script com pv [Em poucas palavras, é: pv $1 > $2
], e estava rodando cerca de 1,5 MB/s. Então eu também tentei o cp e configurei um loop para du
o arquivo a cada segundo, e ele aumentou em algum lugar perto de 2 MB a cada segundo.
Responder1
O Nautilus passaria por menos camadas indiretas, o que poderia explicar a diferença.
O Nautilus é um aplicativo gvfs nativo, portanto, ele se comunica diretamente com os backends do gvfs.
Em contraste, cp
está conversando com o kernel através de umFUSÍVELsistema de arquivos montado em ~/.gvfs
, que é tratado pelo gvfs-fuse-daemon
processo, que por sua vez se comunica com os back-ends do gvfs. As incompatibilidades de impedância entre a API POSIX e os gvfs podem ser responsáveis pelas transferências menos eficientes.
Você pode obter desempenho semelhante na linha de comando usando o gvfs-copy
comando do gvfs-bin
pacote, copiando para o URL apropriado.