Menu

sexta-feira, 26 de outubro de 2018

Melhorar a transferência de arquivos para pendrive

Um dos grandes problemas no GNU/Linux é a transferência de arquivos grandes para um pendrive, confira nessa matéria o porque disso e como dar uma boa melhorada.











Lentidão para transferir arquivos


De uma forma bem abreviada, a lentidão é causada devido ao armazenamento dos dados em cache de memória ram.

Os valores que iremos alterar aqui são os de.

vm.dirty_background_ratio é a porcentagem de memória do sistema que pode ser usada para o cache.

vm.dirty_ratio é a quantidade máxima absoluta de memória do sistema que pode ser usada para o cache.

Mais detalhes nessa documentação.

Experimento 1


Nesse experimento o sistema está sem nenhuma modificação, podemos ver que a taxa de Dirty começa a cair assim que todo o arquivo é copiado, mas ainda permanece em cache, a cópia só termina quando a taxa de Dirty zera, isso pode não ser mostrado em algumas interfaces gráficas, o que leva o usuário a remover o pendrive antes que a cópia de fato tenha terminado.







Experimento 2 (Recomendado)


Nesse experimento diminui os padrões da taxa de dirty para os valores abaixo.

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

Aqui podemos notar que o dirty é inalterado, mas temos uma leitura e escrita no pendrive de forma uniforme, assim que a leitura em disco cai perto dos 3:20 minutos o dirty automaticamente começa a cair permanecendo apenas a escrita no pendrive. O ganho de tempo total da transferência é insignificante.

Aplicação


Pra aplicar a configuração abra o terminal e de os comandos na sequencia.

sudo nano /etc/sysctl.conf

Adicione as duas linhas abaixo no final do arquivo aberto.

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

Salve teclando Ctrl + x tecle s e tecle Enter para fechar.

Carregue as novas configurações com o comando.

sudo sysctl -p









Experimento 3 


Nesse experimento diminui os padrões da taxa de dirty para os valores abaixo.

vm.dirty_background_ratio = 2
vm.dirty_ratio = 5


Podemos notar uma diminuição drástica da taxa de dirty, que nos deu um ganho significativo de 1 minuto a menos no tempo total da transferência.


Aplicação


Pra aplicar a configuração abra o terminal e de os comandos na sequencia.

sudo nano /etc/sysctl.conf

Adicione as duas linhas abaixo no final do arquivo aberto.

vm.dirty_background_ratio = 2
vm.dirty_ratio = 5

Salve teclando Ctrl + x tecle s e tecle Enter para fechar.

Carregue as novas configurações com o comando.

sudo sysctl -p







OBS: Só use um dos experimentos 2 ou 3, não use os dois ao mesmo tempo. E para desfazer a alteração apague as linhas que adicionamos ao /etc/sysctl.conf
Vale lembrar que valores muito baixos para o dirty pode causar instabilidade no sistema e corromper os arquivos copiados. Nesse caso a .iso foi copiada sem problema algum, test de MD5 OK.




Testes feitos com os componentes abaixo.

Sistema operacional Debian Testing

Ambiente gráfico KDE Plasma

Pendrive SanDisk - Cruzer Blade

Opinião


No meu caso em particular, eu não vejo motivos para eu fazer alterações no sistema para  melhorar a transferência. Mas cada caso é um caso, portanto se para você é necessário, faça, mas realize testes ara confirmar se os dados não estão corrompendo e não baixe de mais os valores dirty, zero pode comprometer o sistema, leia a documentação postada acima.


Donate - Contribua para a melhoria do nosso trabalho!!











Nenhum comentário:

Postar um comentário