O diálogo de cópia fica parado aos 0 segundos restantes ...
Sempre que tento copiar arquivos grandes para o meu pendrive USB (em qualquer formato), ele sempre para no último momento. Termina depois de muito tempo .
Eu pesquisei no Ask Ubuntu por posts semelhantes e consegui muitos , mas nenhum deles tem boas soluções.
Então ... Existe alguma ferramenta alternativa de cópia como o Teracopy no Windows?
Ou há alguma correção que eu possa fazer?
Respostas:
Você não deve se preocupar muito com isso.
Talvez o seu pendrive USB seja de "qualidade inferior".
A saída do diálogo referente ao horário é enganosa.
Outras ferramentas de cópia podem ter um comportamento de saída diferente,
mas não melhoram a velocidade de gravação da unidade USB.
O mais importante de tudo é que finalmente a ação de cópia é bem-sucedida.
O que você pode fazer é otimizar os agendadores de entrada / saída de discos.
Instale
gksu
(quando você ainda não o fez) para editar arquivos comgedit
como root:Agora otimize a prioridade de todos os processos em execução para vários tipos de discos:
Cole as seguintes linhas neste arquivo vazio e salve o arquivo depois:
As alterações feitas entram em vigor após uma reinicialização do sistema operacional.
Além disso ... uma solução alternativa de cópia está disponível nos repositórios Ubuntu:
Agora inicie a ferramenta a partir de um terminal para comparar ou copiar arquivos e pastas:
dirdiff
é uma GUI paradiff
e pode lidar com até 5 árvores. Ele exibe uma janela principal com uma lista de arquivos diferentes entre as árvores, com quadrados coloridos para indicar a idade relativa das versões. Um menu permite exibir as diferenças entre duas versões em outra janela. Outro menu permite copiar arquivos e pastas de uma árvore para outra.Resumo: O mais relevante de tudo é a qualidade do disco USB e seus recursos de velocidade de gravação!
fonte
O motivo pelo qual você vê a cópia acontecendo da maneira que faz é que as gravações na unidade USB são assíncronas .
Quando você copia um arquivo, ele realmente o copia para o buffer da unidade USB, que está na RAM do seu computador. A primeira parte da cópia é muito rápida porque está apenas entrando no buffer. Os dados são liberadosdo buffer para a unidade USB a uma taxa muito mais lenta. Depois que o buffer é preenchido, é necessário aguardar a liberação de alguns dados para o disco antes de poder colocá-lo mais no buffer, para que a cópia diminua, diminuindo efetivamente à velocidade da unidade USB. Depois que todo o arquivo foi colocado no buffer, parece que o arquivo foi copiado. No entanto, nem todos os dados foram liberados do buffer para o próprio disco USB. Alguns programas de cópia retornam e deixam a descarga continuar em segundo plano. Alguns esperarão até que todos os dados sejam liberados, e é por isso que permanecerão 100% por algum tempo.
Você pode mudar o disco para o modo síncrono, o que significa que todos os dados são gravados imediatamente na unidade USB sem usar o buffer. Isso dará a impressão de uma transferência mais suave de dados, mas pode realmente acabar com uma redução geral da velocidade.
Se você montar manualmente o disco a partir da linha de comando, poderá adicionar
-o sync
.Se você o montar usando o fstab, poderá adicionar a
sync
opçãoSe você depende do Ubuntu montá-lo para você quando acessá-lo na GUI, você pode modificar as opções de montagem na linha de comando, uma vez montado:
fonte
O problema provavelmente é que o arquivo seja lido e armazenado na memória completamente antes de ser completamente gravado na unidade de destino.
Isso não significa responder exatamente à pergunta, mas uma solução alternativa pode estar sendo usada
pv
na linha de comando no caso de arquivos grandes:Sempre que é necessário copiar um arquivo grande:
Note-se que isso sofre de um problema de buffer similar indesejado quando usado em um tubo; se for esse o caso, uma correção está limitando a taxa de transferência para algo ligeiramente acima da velocidade de gravação da unidade de destino:
fonte
Existem várias alternativas. Você pode usar a abordagem de linha de comando:
cp *source* *target*
onde origem é o arquivo que você deseja copiar e o destino é o arquivo ou pasta para o qual você deseja copiar. Outras opções podem ser encontradas em https://softwarerecs.stackexchange.com/
fonte
Isso lerá seu
if
arquivo eof
gravará em arquivos em pedaços de 64MiB e espere até que cada pedaço seja gravado antes de iniciar o próximo. O utilitário que você está usando provavelmente está apenas lendo o arquivo na memória e enviando-o para o disco (e não há como dizer quantos bytes por vez ele está sendo executado). O cache de gravação pode estar no próprio dongle usb, no entanto .... Portanto, a velocidade de 60MiB por segundo que você está obtendo é a taxa de transferência pela conexão usb ao cache interno do dongle. Mas isso não é provável, a menos que seja um dongle USB3. O USB2 não possui taxa de transferência suficiente para suportar 60MiB por segundo.fonte
Não há necessidade de todas as opções acima. Simplesmente abra uma janela de terminal quando a transferência estiver mostrando 0% à esquerda e digite
sync
Nas páginas do manual, o comando sync libera os buffers do sistema de arquivos, mas é claro que apenas liberará aqueles aos quais você tem direitos. Se você quiser descarregar todos eles, digitesudo sync
fonte