Por que as operações de cópia de arquivos no Linux ficam mais lentas com o tempo?

17

Eu tenho arquivos de 12 a 200 MB. Copiar um deles para outro drive leva 20 segundos. Quando tento copiar todos de uma só vez, primeiro ele diz que vai demorar 5 minutos, e depois diminui a velocidade nas horas e dias.

Estou copiando os arquivos pelo Thunar no XFCE, mas lembro de ter problemas semelhantes usando a linha de comando. Por que isso ocorre e o que posso fazer para remediá-lo, além de apenas copiar os arquivos um por um?

    
por jSepia 14.05.2012 / 23:51

4 respostas

21

Este é um problema conhecido com o kernel do linux que é conhecido há séculos, e ninguém abordou o problema ainda.

atualmente não há correção ou solução alternativa conhecida, além de usar o Windows, o que aumenta a velocidade e normaliza. Acho que esse bug é um problema de alta prioridade, mas os programadores não se sentem da mesma maneira. É apenas esse bug que está começando a me afastar do Linux.

    
por 28.01.2013 / 08:24
10

Você deve tentar rsync para monitorar sua velocidade de transferência. Por exemplo:

rsync -PSauv sourcedir/* destdir/

Se você realmente vê uma queda na velocidade de transferência, ao contrário dos arquivos que são grandes, então você precisa ver algumas outras coisas.

  1. Se o seu disco estiver ligado a E / S, você terá problemas. Você costuma ver isso ao escrever muito em um flash drive ou em um dispositivo USB externo.

  2. Teste seus discos com hdparm -Tt <device> para ver se um deles dramaticamente mais lento do que deveria ser, ou dramaticamente mais lento que o outro dispositivo que pode levar a problemas de E / S.

  3. Verifique sua saída do dmesg e seu status SMART para garantir que você não tem nenhum erro de disco óbvio. Você também pode considerar badblocks -n se você suspeitar de erros de disco em uma unidade que não seja SMART.

Existem muitas razões pelas quais um disco pode ser executado de maneira inadequada, mas até que você possa medir o problema, você não saberá qual é o problema. :)

    
por 15.05.2012 / 05:58
2

Lembre-se de que também o processo de cópia de arquivos é armazenado em cache pelo Linux. Se você pegar um único arquivo (mesmo que um de 200MB) e começar a copiá-lo para outro local, o Linux armazena em cache, com grande probabilidade, todo o arquivo na memória e o grava em seu novo local. Então, se você escolher copiar esse arquivo novamente e com ele um monte de outros arquivos, então o primeiro arquivo já está armazenado em cache e, provavelmente, pula toda a "parte lida", enquanto os outros são lidos e gravados em suas fontes. / destinos. Esse recurso pode até levar a infinitas velocidades de transferência e esquisitices semelhantes, por isso não confie em nenhuma medida que possa ser invalidada por mecanismos anteriores de chaching.

    
por 15.05.2012 / 17:51
-3

Grave uma cópia do SliTaz em um CD / USB.

Ele é projetado para uso em máquinas realmente antigas e roda muito rápido, já que está na RAM. Você não precisa fazer uma instalação, basta executá-lo ao vivo. Se você tiver um USB montado, poderá vê-lo e depois copiar o que precisa para o seu computador. As taxas de transferência que eu encontrei para ser estável e rápido.

    
por 26.02.2013 / 14:18