Por que meu computador fica tão lento ao copiar muitos arquivos pequenos de um disco externo para outro [duplicado]?

1

Usando o Linux, estou copiando com o rsync 60Gb de arquivos cortados em arquivos muito pequenos (1MB cada) Eu pensei que a cópia seria limitada pela velocidade máxima de gravação do disco rígido de destino, mas parece que todo o meu sistema fica muito lento (por exemplo, o desbloqueio leva cerca de 5 minutos) A fonte é um disco rígido externo e também o destino, ambos conectados via USB3.0.

Monitorar meu sistema com 'htop' mostra que a CPU mal é usada e que a memória está disponível principalmente. Vou tentar copiar arquivos com 'cp', mas duvido que haja alguma diferença. O que está causando esse problema de desempenho? Por que a cópia entre dois discos rígidos externos está causando problemas de desempenho no meu sistema interno?

Eu não acho que isso seja solucionável, mas eu gostaria de entender.

    
por user3714670 04.11.2016 / 16:17

2 respostas

1

Isso acontece devido às limitações das unidades de disco rígido. Você pode ter um ótimo processador, memória RAM rápida, placa-mãe incrível etc., mas todos os dados que ele processa e carrega existem no disco rígido. Quando você copia muitos arquivos pequenos, o disco rígido precisa gravar informações adicionais para cada arquivo. Os tipos de arquivo, locais iniciais e locais finais, além de outros dados. Quando você escreve um único arquivo grande (.zip, .rar, .7z, .gz), ele não precisa gravar todos os outros dados na unidade, pois o protocolo de compactação lida com essas coisas mais tarde.

Você está usando a leitura / gravação de sua unidade. Ele está escrevendo muito em pequenos incrementos que não tem espaço para ler os dados para desbloquear o seu sistema operacional ou para abrir programas.

Não estou familiarizado com os analisadores de uso de disco no Linux, mas se você pudesse encontrar um e postar suas descobertas, isso seria uma grande ajuda.

    
por 04.11.2016 / 17:03
1

Existe uma diferença processual significativa entre copiar um arquivo de 60GB para uma unidade e copiar 600 arquivos de 10MB para uma unidade.

Os processos de transferência de arquivos incluem um processo de "handshake" e verificação para cada pacote transferido, geralmente após a conclusão de um arquivo, para que o arquivo completo seja verificado. Esse processo adiciona tempo adicional à transferência de um arquivo.

Se você estiver transferindo UM arquivo, isso acontecerá uma vez. Ou com 600 arquivos .... bem, 600 vezes.

adicionalmente, se você estiver usando o USB2, o pipeline provavelmente será o culpado - o USB 2 é de 480mbit / segundo, o que é bastante lento e tedioso, e devido às 60.000+ vezes que o seu drive vai ser copiando / handshaking / verificando, vai levar um. muito. longo. tempo ...

Se você está querendo fazer um backup de dados como este, uma maneira melhor de fazer isso é fazer um tgzip ou compactar os arquivos para menos arquivos maiores, então copiá-los. no entanto, se você fizer isso, não pense que economizará tempo se estiver planejando 'descompactá-los' na outra ponta!

A diferença real entre o interno e o externo é que o seu drive interno está executando um 'pipeline' que é ~ 45x's LARGER & Mais rápido que o seu drive USB externo. É uma diferença enorme ...

Isso faz uma tremenda diferença quando se trata de duplicar vários arquivos, como sua descrição: você pode copiar & verifique centenas de arquivos por vez, enquanto uma porta USB2 externa fará apenas um par de cada vez.

Uma analogia simples disso seria sobre o processo de encher um balde de água. Sua porta USB2 externa seria o equivalente a um canudo ... vai demorar um pouco, e você terá que parar e respirar enquanto está indo embora ... Sua unidade interna seria o equivalente de usar um mangueira de jardim .. Isso será feito em apenas alguns segundos ....

Se o seu sistema estiver duplicando a unidade interna para o externo, é muito provável que o sistema não deixe a unidade interna 'livre' para outra atividade, efetivamente 'travando' o sistema e levando você a pensar o sistema está congelado durante esse tempo ...

    
por 04.11.2016 / 17:15