
Estou tentando copiar uma iso em um pendrive com este comando:
sudo dd bs=4M if=lubuntu-17.04-desktop-amd64.iso of=/dev/sdc status=progress
O que é bastante simples. O iso tem 912M de tamanho. Por que o texto de saída congela aqui em vez de encerrar o programa?
956301312 bytes (956 MB, 912 MiB) copied, 11.216 s, 85.3 MB/s
Não consigo nem impedir a execução do programa com ctr-c
.
Responder1
O comportamento que você vê é apenas dd
sincronizar os dados no disco após a operação. Para otimizar as operações de E/S, o Linux geralmente lê dados em pedaços maiores do que os solicitados (leitura antecipada) e atrasa as gravações para que possam ser combinados (cache sujo). No final da operação, dd
sincroniza o arquivo no disco ou o kernel faz isso implicitamente, e o processo permanece ativo até que todas as gravações sejam concluídas.
Se não houver outras operações massivas de IO na máquina, você poderá estimar quantos dados restam para gravar observando o valor "Dirty:" /proc/meminfo
- esta é a quantidade total de dados pendentes para serem gravados no disco.
A quantidade de dados que o sistema pode deixar não gravados na memória a qualquer momento pode ser controlada com os seguintes botões de sintonia sysctl. Por padrão, apenas as proporções são usadas. Você pode definir o valor em porcentagem (proporção) ou bytes.
vm.dirty_background_ratio
vm.dirty_ratio
vm.dirty_background_bytes
vm.dirty_bytes
Você encontrará a documentação oficial para esses parâmetros aqui: