Eu tenho um HDD externo Intenso de 1 TB 2,5" aqui. Ele está com algum defeito (desconecta aleatoriamente no Windows), então decidi executar este comando para verificar:
dd if=/dev/sdb of=/dev/null bs=4M status=progress
A saída durante a execução se parece com isto:
715099471872 Bytes (715 GB, 666 GiB) kopiert, 16115 s, 44,4 MB/s
Além disso, 44,4 MB/s é muito lento para um disco USB3, o estranho é que o relógio está marcando apenas a cada 12s. ("16115 s" é o relógio dd.) Ao executar o mesmo comando em um disco saudável, ele marca a cada segundo.
Tentei strace
ver por que está bloqueando por tanto tempo, mas parece ler o disco pelo mapeamento de memória, então não consigo ver nada.
Também não é possível que o disco simplesmente bloqueie 12s durante a leitura. Porque a velocidade é de 44,4 MB/s e o tamanho do bloco é de 4 MB. Portanto, dd tem 11 chances por segundo de atualizar o relógio.
Então, o que está acontecendo aqui exatamente?
(Não estou interessado no que há de errado com o disco, mas, em vez disso, quero saber por que o relógio dd está correndo tão devagar. Portanto, espero estar certo no SE Unix.)
dd
só pode atualizar sua exibição entre operações de cópia individuais; quando você real GNU coreutils'dd.c
, você encontrará owhile
loop principal simplificando para:Se a cópia de blocos levar 12 segundos a cada iteração, você não poderá obter uma atualização visual.
Honestamente,
dd
simplesmente não é o programa que você deseja usar (em muitos casos surpreendentes, mas especialmente) aqui.provavelmente será mais esclarecedor; se você realmente deseja ler em blocos de 4 MB (por quê? Seu disco rígido provavelmente tem 1024 blocos B e as transferências USB são muito menores, portanto, transferências maiores têm retornos muito menores em velocidade),
(Eu sei que você disse que não se importa com o disco, e sua pergunta é por que
dd
se comporta dessa maneira, mas para futuros leitores experimentando seu disco rígido que se comporta mal:)Mas, de uma perspectiva superior : você está lidando com um disco rígido que está quebrando. Eu recomendo que você o use o mínimo possível, além de fazer um backup de seu conteúdo.