Qual é a diferença entre as opções direta e fsync do dd?

3

Eu gostaria de copiar uma imagem para um pen drive USB. Como eu gostaria de obter velocidades "reais" e não querer esperar que o dispositivo sincronize depois de copiar a imagem, gostaria de saber quais opções usar para isso.

    
por niklasfi 29.01.2012 / 11:38

2 respostas

2

Ler o código-fonte mostra que você também deve estar perguntando sobre o nocache opção também. A opção direct deve obter o que você deseja, mas também depende de qual versão do dd você está jogando. Fazer uma cópia grande e um sistema Ubuntu 11.04 me mostrou tempos ainda mais lentos (= mais próximo da realidade?) Com a opção dsync usa i / o sincronizado para dados, o que provavelmente perde a vantagem de agregação que os controladores de disco modernos nos fornecem. Para saber "exatamente" o que está acontecendo, você vai ter que cavar o código-fonte para o kernel específico que está executando, mas mesmo assim você está à mercê da placa de interface na unidade, que faz o seu buffer próprio.

    
por 30.01.2012 / 16:31
3

A opção fsync irá liberar os dados no final da cópia. A opção dsync irá liberar os dados após cada bloco. A opção direta terá resultados semelhantes aos do dsync, apenas sem poluir o cache do sistema de arquivos com os dados. Isso é bom para armazenar em cache o restante do sistema e economiza alguma sobrecarga da CPU.

O dsync ou o direto fornecerão uma taxa de transferência menor, mas isso pode ser compensado principalmente pelo uso de um tamanho de bloco grande, como 1 MB ou mais.

    
por 30.01.2012 / 17:32