Quando copio arquivos para o dispositivo USB, leva muito mais tempo do que no Windows (mesmo dispositivo USB, mesma porta) é mais rápido que as velocidades USB 1.0 (1MB / s), mas muito mais lento que as velocidades USB 2.0 (12MB / s). Copiar 1,8 GB leva mais de 10 minutos (deve ser <3 min.) Eu tenho dois cartões idênticos SanDisk Cruzer de 8 GB e tenho o mesmo problema com ambos. Eu tenho um super talento SSD USB de 32 GB na porta vizinha e funciona nas velocidades esperadas.
O problema que pareço ver na GUI é que a barra de progresso chega a 90% quase instantaneamente, é 100% um pouco mais lenta e fica parada por 10 minutos. Interromper a cópia neste momento parece resultar em corrupção no final do arquivo. Se eu esperar que a cópia seja concluída com êxito.
Alguma ideia? saída dmesg abaixo:
[64059.432309] usb 2-1.2: new high-speed USB device number 5 using ehci_hcd
[64059.526419] scsi8 : usb-storage 2-1.2:1.0
[64060.529071] scsi 8:0:0:0: Direct-Access SanDisk Cruzer 1.14 PQ: 0 ANSI: 2
[64060.530834] sd 8:0:0:0: Attached scsi generic sg4 type 0
[64060.531925] sd 8:0:0:0: [sdd] 15633408 512-byte logical blocks: (8.00 GB/7.45 GiB)
[64060.533419] sd 8:0:0:0: [sdd] Write Protect is off
[64060.533428] sd 8:0:0:0: [sdd] Mode Sense: 03 00 00 00
[64060.534319] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.534327] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.537988] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.537995] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.541290] sdd: sdd1
[64060.544617] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.544619] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.544621] sd 8:0:0:0: [sdd] Attached SCSI removable disk
sync
e veja se isso não acelera o processo. <- não testado, mas possívelRespostas:
Por que a cópia na minha unidade USB é tão lenta no Linux (e mais rápida no Windows)?
Razão 1. O armazenamento em cache do arquivo pode fazer com que as gravações pareçam mais lentas ou mais rápidas
Uma coisa que você precisa entender é o cache de arquivos. O Linux (e Windows) usará a RAM "vazia" para armazenar em cache as operações de leitura / gravação e torná-las mais rápidas nos acessos subseqüentes. O armazenamento em cache de operações de cópia para reduzir a velocidade dos dispositivos resulta no comportamento que você vê - a "conclusão rápida" está realmente gravando no cache e diminui e pára porque a liberação real dos dados no cache (sincronização) para o dispositivo lento é demorando muito tempo. Se você abortar nesse ponto, os dados serão corrompidos (como você observou), pois a sincronização nunca terminou.
Essa cópia no Windows pode parecer mais rápida (incluindo as velocidades informadas de MB / s) porque, às vezes, o Windows não espera a sincronização e declara o trabalho concluído assim que os dados são gravados no cache.
Razão 2. A gravação de muitos arquivos, especialmente os pequenos, é lenta
Devido à maneira como a memória flash e os sistemas de arquivos funcionam, a taxa de transferência mais rápida (velocidade) é alcançada ao gravar arquivos muito grandes. Escrever muitos arquivos pequenos ou até dados misturados que contêm vários arquivos pequenos pode atrasar bastante o processo. Isso afeta também os discos rígidos, mas em menor grau.
Razão 3. As velocidades de gravação de um pendrive e um SSD não podem ser comparadas
Geralmente, um pendrive USB tipo jardim consiste em chips de memória flash que são gravados em série (sequencialmente) e não possuem cache próprio.
Um SSD, por outro lado, contém um controlador que grava paralelamente nos chips de memória flash , aumentando a taxa de transferência em um fator de 2 ou mais no pen drive.
Portanto, com um arquivo grande, seus 32 GB de GB com a estrutura 4x que assumimos seria 4x mais rápido; com muitos arquivos pequenos, seria 10x ou mais rápido porque poderia armazená-los de maneira inteligente em seu cache.
Em resumo , essas são as razões pelas quais a cópia de arquivos em pen drives pode parecer mais lenta no Linux. É realmente mais lento por causa de um problema de hardware / driver ou o que seja ....
Fazendo uma comparação adequada das velocidades de gravação entre Linux e Windows
dd if=/dev/urandom of=largetest bs=1M count=7500
, o que fornece um arquivo de teste de 7500 MB. Supondo que seu sistema tenha menos de 4 GB de RAM, é bom o suficiente. Copie isso para um cartão Sandisk de 8 GB recém-formatado e agilize o tempo.largetest
do pen drive para o disco rígido. Reinicie novamente (para removê-lo do cache). Em seguida, formate o pendrive (o mesmo vfat / FAT32!) E copielargetest
do disco rígido para o pendrive.fonte
A correção encontrada foi tudo o que fiz foi desmontar, remover a unidade e executar
sudo modprobe ehci_hcd
no terminal. Insira drive e agiansudo modprobe ehci_hcd
quando eu colocar o drive e wow 20 / mbs, pensei em compartilhar. Espero não ter que fazer isso toda vez ... mas não é tão difícil ...https://bugs.launchpad.net/ubuntu/+source/linux/+bug/177235 diz que eles corrigiram o bug.
fonte
Eu acho que as chances são muito baixas de que seja um problema de porta. É mais provável que seja um problema de LINUX (ou configuração de linux) - navegue e você encontrará milhares de relatórios de problemas sobre USB lento no linux / ubuntu. Para mim, é quase um empecilho para o linux - agora tenho um Ubuntu 12.04 LTS e ainda tenho esse problema (então prefiro usar a instalação do Win7 - principalmente / somente por causa disso). Esse problema (ou algo com sintomas semelhantes) já existe há vários anos, aparentemente sem solução. E durante esse tempo, tentei vários PCs físicos com várias versões diferentes do ubuntu (configuração padrão) e 2-3 diferentes pen drives ....
fonte
Apenas
umount
o dispositivo, se já estiver montado automaticamente, e monte-o manualmente/mnt/foldername
.No meu caso,
Depois disso, ele está lidando muito rápido.
fonte
rsync
vez de,cp
parece fazer o truque.É 2019 e ainda estou tendo o mesmo problema. Então, pensei em pesquisar na internet por uma solução. Encontrei a seguinte página que sugere uma: https://gist.github.com/2E0PGS/f63544f8abe69acc5caaa54f56efe52f
Diz:
Execute os seguintes comandos em um console para verificar se isso resolve o problema. Você pode precisar
sudo su
primeiro ter a permissão necessária.Se funcionar, você poderá fazer essa alteração persistente nas reinicializações colando as duas linhas no final do seu
/etc/rc.local
arquivo.Para mim, teve o seguinte efeito:
Antes de copiar arquivos grandes para uma unidade USB, começava muito rápido (como 60 MB / s) e ficava cada vez mais lento (<10 MB / s) até parecer que nunca iria terminar.
Agora começa mais devagar, mas fica cada vez mais rápido e termina mais cedo do que antes. Portanto, parece "resolver" o problema ou, pelo menos, ter um efeito positivo.
fonte
Se você alternar para um USB 3.0, passará de 1mb / s para um woping de 5-8mb / s. Eu mudo para um pci USB 3.0 e HD externo e não olhei para trás.
fonte
Quando você olha em / etc / mtab, vê que o dispositivo foi montado com a opção "flush"?
Nesse caso, isso pode ser a causa do problema (foi para mim). Apenas desmonte o dispositivo e remonte-o, pois não deve ser definido por padrão.
fonte
Eu tive alguns problemas também com a taxa de transferência em um disco externo WD, depois de abri-lo no Windows SO, eu sempre usei o LINUX, depois a taxa de transferência era de 1,5 mb / s do que desmontava o disco rígido externo runed dmesg lá estava dizendo que o sdb1 foi desmontado de maneira inadequada, executou um fsck, que fez alguns reparos e, depois disso, 20mb / s de taxa de transferência novamente ao copiar do sda para o disco externo. O fsck é sempre um risco se você tiver dados, mas funcionou para mim, sem perda de dados.
fonte
Eu também tive esse problema, mas uso o comando cp e você atualiza seu pendrive em segundos;
Eu acho que é uma resposta muito tardia, mas ainda está aberta.
fonte
Ok, eu tive o mesmo problema por três dias e como consegui fazer backup do meu disco rígido de 1 TB usando rsync, eu sei que ele é usado para fazer backup, mas conseguiu o trabalho, mesmo ao transferir arquivos grandes para uso faça esse trabalho. Se você quiser usá-lo com uma GUI, sugiro instalar o Grsync, que é uma versão gráfica do rsync, pois o rsync é executado no terminal.
Espero que isso tenha ajudado
fonte