En ocasiones, he visto comentarios en línea como "asegúrese de establecer 'bs=' porque el valor predeterminado tomará demasiado tiempo", y mis propias experiencias extremadamente poco científicas de "bueno, eso pareció tomar más tiempo que el otro". tiempo la semana pasada” parecen confirmarlo. Entonces, cada vez que uso 'dd' (generalmente en el rango de 1-2 GB) me aseguro de especificar el parámetro de bytes. Aproximadamente la mitad del tiempo uso el valor especificado en cualquier guía en línea de la que estoy copiando; el resto del tiempo elegiré algún número que tenga sentido de la lista 'fdisk -l' para lo que supongo que es el medio más lento (por ejemplo, la tarjeta SD en la que estoy escribiendo).
Para una situación determinada (tipo de medio, tamaño de bus o cualquier otra cosa que importe), ¿hay alguna forma de determinar el "mejor" valor? ¿Es fácil de determinar? Si no, ¿hay una manera fácil de llegar al 90-95% del camino? ¿O es "simplemente elige algo más grande que 512" incluso la respuesta correcta?
Pensé en probar el experimento yo mismo, pero (además de ser mucho trabajo) no estoy seguro de qué factores afectan la respuesta, así que no sé cómo diseñar un buen experimento.
Respuesta aceptada:
dd
data de cuando era necesario traducir viejas cintas de mainframe de IBM, y el tamaño del bloque tenía que coincidir con el que se usaba para escribir la cinta o los bloques de datos se omitirían o se truncarían. (Las cintas de 9 pistas eran meticulosas. Alégrate de que hayan muerto hace mucho tiempo). En estos días, el tamaño del bloque debe ser un múltiplo del tamaño del sector del dispositivo (generalmente 4 KB, pero en discos muy recientes puede ser mucho más grande y en miniaturas muy pequeñas). las unidades pueden ser más pequeñas, pero 4 KB es un término medio razonable independientemente) y cuanto más grandes, mejor para el rendimiento. A menudo uso tamaños de bloque de 1 MB con discos duros. (También tenemos mucha más memoria para usar en estos días).