A transferência "congela" ao gravar arquivos grandes na unidade USB

3

Quando tento transferir arquivos grandes (1 GB ou mais) para uma unidade USB (2.0, 3.0, HDD ou "pen drive") tudo corre bem, o arquivo é transferido corretamente (tentei md5 soma ambos do original e o transferido e eles combinam) ...

No entanto tanto na linha de comando (mv *bigfile* /media/*username*/*name_of_the_drive*/) e usando a GUI (atualmente em execução no MATE desktop do Ubuntu 15.10, mas também acontece em outros sabores) quando o fim da transferência a barra de progresso no diálogo congela (apenas congela ao usar o console). Portanto, eu tenho que fechar manualmente o diálogo / terminal quando "acho" que a transferência está completa.

Além disso, quando tentei gravar uma unidade USB inicializável com utilitário Make Startup Disk , o aplicativo enfrenta o mesmo problema e congela, mantendo a "sessão de gravação" aberta e não permitindo que eu desmonte o USB, mesmo quando eu fechar. Enquanto tentava outras versões do Ubuntu 15.10 (eu tentei várias) ele realmente mostrou um erro de diálogo dizendo algo como:

  

"Os arquivos foram corretamente transferidos para a unidade USB, no entanto   o programa não pôde comunicar ao kernel que a escrita é   concluída. "

Peço desculpas por não informar o aviso exato, mas lembro que esse é o significado do que eu li.

Atualmente executando o 15.10 MATE, kernel 4.4.1 na máquina de laptop x64 com GTX960M e drivers proprietários da Nvidia instalados.

P.S .: Eu atualizei para o kernel 4.4.1 para ver se isso poderia resolver o problema, já que Ele ainda faria o mesmo em 4.2.0_27. Mas obviamente não aconteceu.

Obrigado antecipadamente pela ajuda,

F.

    
por fredsat 15.02.2016 / 10:34

1 resposta

7

Eu realmente encontrei uma resposta aqui como na verdade, o problema foi devido a ter 16GB de RAM instalada. O buffer de gravação era muito grande. Resolvi fazer login como root:

su root

em seguida, definindo os bytes sujos para um número definido (eu acho que a configuração padrão 0 realmente não dá qualquer limite para o quanto o cache de escrita deve ser grande), digitando:

echo $((16*2048*2048)) > /proc/sys/vm/dirty_background_bytes
echo $((48*2048*2048)) > /proc/sys/vm/dirty_bytes

Eu escolhi esse tamanho como um bom compromisso e o problema agora está resolvido.

    
por fredsat 15.02.2016 / 14:58