A volte ho visto commenti online del tipo "assicurati di impostare 'bs=' perché il valore predefinito impiegherà troppo tempo" e le mie esperienze estremamente non scientifiche di "beh, sembrava che ci volesse più tempo di quell'altro volta la scorsa settimana” sembrano confermarlo. Quindi ogni volta che utilizzo "dd" (in genere nell'intervallo 1-2 GB) mi assicuro di specificare il parametro bytes. Circa la metà delle volte utilizzo il valore specificato in qualsiasi guida online da cui sto copiando; il resto del tempo sceglierò un numero che abbia senso dall'elenco "fdisk -l" per quello che presumo sia il supporto più lento (ad esempio la scheda SD su cui sto scrivendo).
Per una determinata situazione (tipo di supporto, dimensioni dell'autobus o qualsiasi altra cosa importante), esiste un modo per determinare un valore "migliore"? È facile da determinare? In caso negativo, esiste un modo semplice per arrivare al 90-95% del percorso? Oppure "scegli qualcosa di più grande di 512" è anche la risposta corretta?
Ho pensato di provare io stesso l'esperimento, ma (oltre a richiedere molto lavoro) non sono sicuro di quali fattori influiscano sulla risposta, quindi non so come progettare un buon esperimento.
Risposta accettata:
dd
risale a quando era necessario tradurre i vecchi nastri mainframe IBM e la dimensione del blocco doveva corrispondere a quella utilizzata per scrivere il nastro o i blocchi di dati sarebbero stati ignorati o troncati. (I nastri a 9 tracce erano schizzinosi. Siate contenti che siano morti da tempo.) In questi giorni, la dimensione del blocco dovrebbe essere un multiplo della dimensione del settore del dispositivo (di solito 4 KB, ma su dischi molto recenti potrebbe essere molto più grande e su un pollice molto piccolo le unità possono essere più piccole, ma 4 KB sono una via di mezzo ragionevole a prescindere) e più grandi sono, migliori sono le prestazioni. Uso spesso blocchi da 1 MB con dischi rigidi. (Anche in questi giorni abbiamo molta più memoria da buttare in giro.)