GNU/Linux >> Tutoriales Linux >  >> Linux

DD de /dev/zero a /dev/null... lo que realmente sucede

/dev/zero proporciona un flujo interminable de cero bytes cuando se lee. Esta función la proporciona el núcleo y no requiere la asignación de memoria. Todas las escrituras a /dev/null se caen en silencio.

Como resultado, cuando realiza el dd , el sistema genera 500 megabytes en cero bytes que simplemente se descartan. A excepción de un búfer temporal, no se almacenan datos antes, durante o después de esta operación.

La velocidad de la transferencia desde /dev/zero a /dev/null está determinado principalmente por la velocidad de su procesador y las llamadas al sistema relevantes. (En su caso, el búfer tiene un tamaño de 500 MB y, por lo tanto, la operación también prueba la velocidad de su memoria).


Traduciré este comando para ti:

dd if=/dev/zero of=/dev/null bs=500M count=1

Datos duplicados (dd ) del archivo de entrada (if ) de /dev/zero (suministro ilimitado virtual de 0 's) en el archivo de salida (of ) de /dev/null (sumidero virtual) usando bloques de 500M de tamaño (bs =tamaño del bloque) y repite esto (count ) solo una vez (1 ).

En general, este comando debería medir solo la memoria y las velocidades del bus. Sin embargo, puede fallar si no tiene 500 MB de RAM disponibles. Entonces, en cierto sentido, también evalúa implícitamente qué tan rápido su sistema operativo puede asignar grandes fragmentos de memoria.


/dev/null es un agujero negro. No es preciso para probar las operaciones de escritura normales, ya que en realidad no escribe en el disco como lo haría un archivo normal. En lugar de que el cabezal escriba en el disco, los datos se descartan inmediatamente después de escribir en el dispositivo, por lo que siempre será más rápido que las escrituras locales normales.

/dev/zero es similar para las lecturas. No requiere movimiento de cabeza para leer, es solo un suministro ilimitado de caracteres nulos, por lo que siempre leerá más rápido que cualquier lectura local.

En otras palabras, esto es como probar en un vacío y no dará una imagen precisa de lo que deberían producir las lecturas y escrituras locales normales.


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  3. ¿Cuándo usar /dev/random Vs /dev/urandom?

  4. Cómo mapear dispositivos /dev/sdX y /dev/mapper/mpathY desde el dispositivo /dev/dm-Z

  5. ¿Qué son los archivos /dev/zero y /dev/null en Linux?

tty (/dev/tty) vs pts (/dev/pts) en Linux

¿Cómo codificar en base64 /dev/random o /dev/urandom?

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

Cómo usa Linux /dev/tty y /dev/tty0

Crear un dispositivo de bloque virtual que escriba en /dev/null

Diferencias entre /dev/sda y /dev/sda1