A partir da primeira linha, podemos dizer que dd
leu e escreveu 1,5 GB em um segundo. Mesmo um SSD não consegue escrever tão rápido.
O que aconteceu foi que o dispositivo de bloco / dev / sdc aceitou-o (writeback), mas não o enviou para o disco, mas o armazenou em buffer e começou a gravar no disco na velocidade que o disco pode suportar. Algo como 3 MiB / s.
O sistema não pode armazenar em buffer os dados indefinidamente assim, há apenas tantos dados que ele aceitará manter em estado dd
do sistema será bloqueada até que os dados foi liberado para o disco (durante o qual ele não pode gravar mensagens de progresso). Quando isso acontecer, write()
pode enviar os poucos megabytes perdidos, e isso acontece em menos de um segundo, então você tem apenas uma linha de progresso extra.
Para ver um comportamento diferente, você pode forçar as gravações a serem síncronas, que não devem retornar, a menos que os dados tenham sido confirmados no disco. Por exemplo, usando dd
ou oflag=sync
ou oflag=dsync
(não que eu recomendaria fazer isso embora).