Copia para cartão de memória USB muito lento?

40

Quando copio arquivos para o dispositivo USB, demora muito mais do que no Windows (mesmo dispositivo USB, mesma porta) é mais rápido do que as velocidades USB 1.0 (1MB / s), mas muito mais lento que as velocidades USB 2.0 (12MB / s) . Copiar 1,8 GB me leva mais de 10 minutos (deve ser & lt; 3 min.) Eu tenho dois sticks SanDisk Cruzer 8GB idênticos e tenho o mesmo problema com ambos. Eu tenho um super talento 32GB USB SSD na porta vizinha e funciona a velocidades esperadas.

O problema que eu vejo na GUI é que a barra de progresso chega a 90% quase que instantaneamente, completa para 100% um pouco mais devagar e depois fica pendurada por 10 minutos. Interromper a cópia neste ponto parece resultar em corrupção no final do arquivo. Se eu esperar que ele termine, a cópia será bem sucedida.

Alguma ideia? saída do 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
    
por Eloff 14.04.2012 / 23:46

9 respostas

25

Por que copiar para meu pendrive é tão lento no Linux (e mais rápido no Windows)?

Razão 1. O armazenamento em cache de arquivos pode fazer com que as gravações apareçam mais lentas ou mais rápidas

  

O problema que eu vejo na GUI é que a barra de progresso chega a 90% quase que instantaneamente, completa para 100% um pouco mais devagar e depois fica pendurada por 10 minutos.

Uma coisa que você precisa entender é o armazenamento em cache de arquivos. Linux (e Windows) usarão RAM "vazia" para armazenar operações de leitura / gravação e torná-las mais rápidas em acessos subseqüentes. Armazenar em cache as operações de cópia para diminuir a velocidade dos dispositivos resulta no comportamento que você vê - a "conclusão rápida" está realmente gravando no cache e, em seguida, diminui e pára porque o fluxo real dos dados no cache (sincronização) para o dispositivo lento é demorando muito. Se você interromper nesse ponto, os dados serão corrompidos (como você observou), já que a sincronização nunca foi concluída.

Essa cópia no Windows pode parecer mais rápida (incluindo as velocidades de MB / s relatadas) porque às vezes o Windows não espera pela sincronização, e declara o trabalho concluído assim que como os dados são gravados no cache.

Razão 2. Escrever muitos arquivos, especialmente os pequenos, é lento

  

Para copiar 1,8 GB

Devido à maneira como a memória flash e os sistemas de arquivos funcionam, a taxa de transferência (velocidade) mais rápida é obtida ao gravar arquivos muito grandes. Escrever muitos arquivos pequenos ou até mesmo misturar dados contendo vários arquivos pequenos pode atrasar muito o processo. Isso também afeta os discos rígidos, mas em menor grau.

Razão 3. As velocidades de gravação de um pendrive e de um SSD não podem ser comparadas

  

Tenho um SSD USB de 32 GB de super talento na porta vizinha e funciona a velocidades esperadas.

  • Um pen drive USB de jardim geralmente consiste em chips de memória flash gravados em série (sequencialmente) e não possui cache próprio.

  • Um SSD, por outro lado, contém um controlador que grava os chips de memória flash paralelos , aumentando o rendimento por um fator de 2 ou mais sobre o pendrive.

    • Se o seu SSD de 32 GB tivesse 4 chips de 8 GB, ainda assim seria 4 vezes mais rápido do que o dispositivo USB em qualquer operação de gravação.
    • O SSD também contém o cache de RAM (como discos rígidos), para que ele possa armazenar rapidamente os dados recebidos no cache e informar ao SO que está pronto, enquanto ainda precisa gravar esses dados a memória flash.
  • Portanto, com um arquivo grande, seu GB de 32 GB com a estrutura 4x que assumimos seria 4 vezes mais rápido; com muitos arquivos pequenos, seria 10x ou mais mais rápido, porque poderia armazená-los de forma inteligente em seu cache.

Para resumir , estas são as razões pelas quais a cópia de arquivos para pendrives USB pode parecer mais lenta no Linux. É realmente mais lento por causa de um problema de hardware / driver ou qualquer outra coisa ....

Fazendo uma comparação adequada das velocidades de gravação entre o Linux e o Windows

  • Primeiro de tudo, esqueça o SSD por causa da razão 3. É como laranjas e maçãs.
  • Para negar os efeitos do motivo 1 (cache) e do motivo 2 (arquivos pequenos), você precisa testar com um único arquivo grande, maior que a quantidade de RAM no sistema de teste.
  • No Linux, você pode criá-lo com dd if=/dev/urandom of=largetest bs=1M count=7500 , que fornece um arquivo de teste de 7500 MB. Supondo que seu sistema tenha menos de 4 GB ou mais de RAM, é bom o suficiente. Copie isso para um stick Sandisk 8GB recém-formatado e tempo.
  • Reinicie no Windows e copie largetest do pendrive para o disco rígido. Reinicie novamente (para removê-lo do cache). Em seguida, formate o pendrive (mesmo vfat / FAT32!) E copie largetest do disco rígido para o gravador.
  • Como os tempos são comparados?
por ish 31.05.2012 / 06:56
7

Eu acho que as chances são muito baixas de que é um problema portuário. É mais provável que um problema de LINUX (ou de configuração do linux) - use o google e você encontrará milhares de relatórios sobre USB lento no linux / ubuntu. Para mim, é quase um showstopper para o Linux - agora tenho um Ubuntu 12.04 LTS e ainda tenho esse problema (então eu prefiro usar a configuração do Win7 - principalmente / só por causa disso). Este problema (ou algo com sintomas semelhantes) está lá há vários anos, aparentemente sem correção. E durante esse tempo eu experimentei vários PCs físicos com várias versões diferentes do Ubuntu (configuração padrão) e 2-3 USB diferentes ...

    
por Peter 22.06.2013 / 19:13
5

Encontrei a correção que tudo que fiz foi desmontar, remover unidade e executar sudo modprobe ehci_hcd no Terminal. Insira a unidade e uma vez sudo modprobe ehci_hcd quando coloco a unidade e wow 20 / mbs pensei que eu iria compartilhar. Espero que eu não tenha que fazer isso toda vez ... mas não é difícil ...

link diz que eles consertaram o bug.

    
por Dj Radio 04.05.2012 / 09:03
4

Apenas umount do dispositivo, se já estiver montado automaticamente, e monte-o manualmente em /mnt/foldername .

No meu caso,

umount /media/usb0
mount /dev/sdb1 /mnt/sam

Depois disso, ele está lidando muito rápido.

    
por msnfreaky 10.12.2014 / 18:13
1

Se você mudar para um USB 3.0, irá de 1mb / s para um woping de 5-8mb / s. Eu mudo para um USB 3.0 pci e HD externo e não olhei para trás.

    
por Ghost logger 26.05.2012 / 11:53
1

Quando você olha em / etc / mtab, você vê que o dispositivo foi montado com a opção "flush"?

Se sim, isso pode ser a causa do problema (foi para mim). Apenas desmonte o dispositivo e remonte-o, ele não deve ser definido por padrão.

    
por GarfieldElCat 23.03.2014 / 12:30
0

Eu tive alguns problemas também com taxa de transferência em um disco externo WD, depois de abri-lo em um windows SO, sempre usei LINUX, depois disso a taxa de transferência ficou como 1.5mb / s do que desmontei o disco rígido externo rodado dmesg lá estava dizendo que o sdb1 estava unporperly desmontado, rodava um fsck, que fazia alguns reparos e depois disso 20mb / s de taxa de transferência novamente quando copiava de sda para disco externo. O fsck é sempre um risco se você tiver dados, mas funcionou para mim, sem perda de dados.

    
por anymamundy 09.11.2015 / 11:36
-2

Eu também tive esse problema, mas eu uso o comando cp e você atualiza seu pendrive em segundos;

cp -r -u /home/user/Muziek/ /media/user/Audiousbsti
cp -r -u /home/user/Muziek/ /media/user/4F49-4A65/

Acho que é uma resposta muito tardia, mas ainda está em aberto.

    
por Bart 23.05.2017 / 15:03
-3

Ok, eu tive o mesmo problema por três dias e como consegui fazer o backup do meu disco rígido de 1 TB usando o rsync, sei que ele é usado para fazer backup, mas o trabalho foi feito, mesmo ao transferir arquivos grandes use-o para fazer esse trabalho. Se você gostaria de usá-lo com uma GUI, sugiro instalar o Grsync, que é uma versão gráfica do rsync, já que o rsync é executado no terminal.

Espero que isso tenha ajudado

    
por Perfect 28.12.2017 / 21:57

Tags