Qual é a diferença entre esses dois comandos dd?

23

Qual é a diferença entre dois comandos dd que possuem diferentes valores bs e count , contanto que eles se multipliquem para o mesmo? Por exemplo:

  1. dd if=/dev/random of=aa bs=1G count=2
  2. dd if=/dev/random of=aa bs=2G count=1
por Rocky 13.12.2011 / 08:49

4 respostas

26

No que diz respeito ao resultado final, eles farão o mesmo. A diferença está em como dd processaria os dados. E, na verdade, os dois exemplos são bastante extremos a esse respeito: o parâmetro bs informa dd de quantos dados ele deve armazenar na memória antes de gerar a saída.

Assim, essencialmente, o primeiro comando tentaria ler 2 GB em dois blocos de 1 GB, e o último tentaria ler 2 GB inteiros de uma só vez e, em seguida, produziria para o arquivo aa .

    
por 13.12.2011 / 09:48
17

O resultado será o mesmo, mas no primeiro caso dd irá escrever dois blocos de 1GB enquanto no segundo bloco de 2GB. A diferença é que dd mantém o bloco copiado na memória. Você precisará de 1GB de RAM no primeiro caso e 2GB no segundo.

Na minha opinião, não há necessidade de usar blocos tão grandes. Você pode fazer alguns testes, mas no meu caso eu alcanço uma velocidade maior com blocos muito menores (< 1MB)

    
por 13.12.2011 / 09:47
9

O primeiro irá ocupar 1G de memória, preenchê-lo com os dados do arquivo de entrada e imprimi-lo duas vezes.

O segundo irá ocupar 2G de memória, preenchê-lo com os dados do arquivo de entrada e gerá-lo.

    
por 13.12.2011 / 09:47
2

O tamanho de bloco usado deve corresponder às melhores configurações de velocidade para o dispositivo de origem e de destino.

Você pode ver melhor a diferença se tentar copiar um dispositivo LV. O uso de tamanho BS muito pequeno interromperá o processo de leitura desnecessário. O uso de um tamanho BS muito grande levará a longas esperas durante a gravação.

Como os LVs padrão consistem normalmente em blocos de 4 MB, o que também é um bom tamanho para o acesso ao disco físico, eu uso bs = 4M para estes.

Tente experimentar com 16K ou 256M - você notará a diferença - e observe o indicador de disco durante a cópia ...

    
por 13.12.2011 / 21:07

Tags