Este es el registro de comandos que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
arrojar - mide el rendimiento de E / S y / o genera carga de E / S
SINOPSIS
arrojar --escribir | --leer | --leer-tras-escribir [OPCIÓN] ... TRANSFERIR_TAMAÑO[kkmmgg] ARCHIVO
DESCRIPCIÓN
Una herramienta de generación de carga y medición del rendimiento de E / S. Escrituras y / o lecturas generadas
datos hacia o desde un dispositivo de caracteres, dispositivo de bloque o archivo normal.
-B, --max-tamaño-búfer=TAMAÑO DEL BÚFER
Cada read(2) /escribir(2) la llamada usa un búfer máximo de tamaño BUFFER_SIZE.
-b, --tamaño mínimo de búfer=TAMAÑO DEL BÚFER
Cada read(2) /escribir(2) la llamada usa un búfer mínimo de tamaño BUFFER_SIZE.
-c, --continuar-después-del-error
Continúe después de errores de integridad de datos.
-d, --directo
Utilice E / S directa. Solo debe usarse en archivos de dispositivos de bloque. No todos en funcionamiento
los sistemas admiten E / S directa
-g, --generar-carga
Equivalente a: -v -t -P -p azar -i 0.
-i, --iteraciones=COUNT
Escribir / leer datos COUNT veces. Si el recuento es 0, se repite para siempre.
-l, --archivo de registro=ARCHIVO DE REGISTRO
Envíe mensajes de registro a LOGFILE.
--sin progreso
No mostrar progreso (predeterminado).
--no-rcfiles
No utilice archivos rc estándar.
-q, --no-estadísticas
No publique estadísticas.
--no-tui
No utilice la interfaz TUI.
-o, --compensar=OFFSET
Busque OFFSET antes de iniciar la E / S.
-P, --Progreso
Muestra el progreso.
-p, --patrón=PATRÓN
Utilice PATRÓN de patrón de datos al leer o escribir datos.
-r, --aleatorio
Búferes de lectura / escritura a compensaciones aleatorias.
--crudo Un alias para --leer-tras-escribir.
--rcarchivo=ARCHIVORC
Lea las opciones de la línea de comandos de RCFILE.
--leer Leer la fecha del ARCHIVO.
--leer-tras-escribir
Leer los datos después de escribir en FILE.
-S, --semilla=SEMILLA
Utilice SEED para semillas de números aleatorios.
-s, --sincronizar
Utilice E / S síncronas.
--Estadísticas
Estadísticas de salida (predeterminado).
-t, --tui
Utilice una interfaz de usuario de terminal basada en maldiciones.
-u, --unidades=BODEGAS
Muestra la tasa de transferencia en unidades UNIDADES.
--uso
Muestre un breve mensaje de uso y salga.
-V, --versión
Salida de información de versión y salida.
-v, - estadísticas-detalladas
Genere estadísticas detalladas.
--escribir
Escribe datos en ARCHIVO.
- ?, --ayuda
Muestre esta ayuda y salga.
ARCHIVO Archivo normal o de dispositivo para escribir datos.
ARCHIVO DE REGISTRO
Ruta a un archivo utilizado para el registro.
MAX_BUFFER_SIZE
Tamaño mínimo de búfer utilizado en cada read(2) /escribir(2) llamar (el valor predeterminado es MIN_BUFFER_SIZE
bytes). MAX_BUFFER_SIZE. Debe ser un múltiplo par de 512 bytes y puede
especificado en bytes, kibibytes (k), kilobytes (K), mebibytes(m), megabytes (M),
gibibytes (g), gigabytes (G). tebibytes (t) o terabytes (T). MAX_BUFFER_SIZE
el valor predeterminado es MIN_BUFFER_SIZE. Si MAX_BUFFER_SIZE> MIN_BUFFER_SIZE, búferes aleatorios
se utilizan tamaños entre los dos límites. MAX_BUFFER_SIZE debe ser un múltiplo par de
MIN_BUFFER_SIZE.
MIN_BUFFER_SIZE
Tamaño mínimo de búfer utilizado en cada read(2) /escribir(2) llamada (el valor predeterminado es 512 bytes).
MIN_BUFFER_SIZE. Debe ser un múltiplo par de 512 bytes y se puede especificar en
bytes, kibibytes (k), kilobytes (K), mebibytes(m), megabytes (M), gibibytes (g),
gigabytes (G). tebibytes (t) o terabytes (T).
OFFSET Posición a la que buscar en el archivo antes de iniciar la E / S (el valor predeterminado es 0). OFFSET debe ser
un múltiplo par de 512 bytes y se puede especificar en bytes, kibibytes (k),
kilobytes (K), mebibytes(m), megabytes (M), gibibytes (g), gigabytes (G).
tebibytes (t) o terabytes (T).
PATRÓN
Patrón de datos utilizado al escribir / leer datos. Los patrones disponibles son: ninguno, ceros,
unos, alt, aleatorio, números y "#" (donde "#" es un número entre 0-255). los
el patrón predeterminado es "ninguno".
RCFILE Lea las opciones adicionales de la línea de comandos de RCFILE. Otras opciones en el
la línea de comandos anulará las opciones en RCFILE.
SEED Se utiliza para inicializar el generador de números aleatorios Debe ser> = 1 y <= 2 ^ 32.
TRANSFERIR_TAMAÑO
Número total de bytes para transferir (debe ser un múltiplo par de MIN_BUFFER_SIZE
y MAX_BUFFER) SIZE). TRANSFER_SIZE se puede especificar en bytes, kilobytes,
megabytes o gigabytes.
UNIDADES Kibibytes (k), kilobytes (K), mebibytes(m), megabytes (M), gibibytes (g), gigabytes (G).
tebibytes (t) o terabytes (T).
EJEMPLOS
arrojar --escribir -b 16k 1m / tmp / bigfile
or
arrojar -b 16k 1m / tmp / bigfile
Escribe 1 mebibyte (1 mebibyte = 1024 * 1024 bytes) usando 16 kibibytes (1 kibibyte = 1024
bytes) solicitudes al archivo / tmp / bigfile utilizando el patrón predeterminado (aleatorio). Muestra el
tasa de transferencia de escritura en kibibytes por segundo y el tiempo de transferencia de escritura en segundos.
arrojar --escribir -u m -i 10 -b 1k 256k / Dev / sda1
or
arrojar -u m -i 10 -b 1k 256k / Dev / sda1
Escribe 256 kibibytes utilizando solicitudes de 1 kibibyte en el archivo del dispositivo de bloque / Dev / sda1 10 equipos
utilizando el patrón predeterminado (aleatorio). Las tasas de transferencia de iteración y escritura acumulada son
se muestra en mebibytes por segundo y la iteración y los tiempos de transferencia de escritura acumulados
se muestran en segundos.
arrojar --crudo -d -o 1m -b 16m 1g / tmp / bigfile
or
abunda -s -o 1m -b 16m 1g / tmp / bigfile
Escriba 1 gibibyte (1 gibibyte = 1024 * 1024 * 1024 bytes) comenzando con un desplazamiento de 1 mebibyte
usando 16 solicitudes de mebibyte al archivo / tmp / bigfile utilizando el patrón predeterminado (aleatorio).
Los datos se escriben sincrónicamente y se vacían al cerrar el archivo. Luego lee los mismos datos
utilizando el mismo tamaño de solicitud y desplazamiento. Los datos se verifican para asegurarse de que los datos leídos
en coincide con los datos leídos. Las tasas de transferencia de lectura y escritura se muestran en
kibibytes / segundo. Los tiempos de transferencia de lectura y escritura se muestran en segundos.
arrojar --leer -i 0 -u M -p Ceros -b 512 1m / dev / zero
or
garganta -i 0 -u M -p Ceros -b 512 1m / dev / zero
Leer 1 mebibyte de datos utilizando solicitudes de 512 bytes del archivo / dev / zero un numero infinito
de veces usando el patrón de ceros (no verifique los datos). La iteración y acumulativa
las velocidades de transferencia de lectura se muestran en megabytes (1 megabyte = 1,000,000 de bytes) por segundo
y la iteración y los tiempos de transferencia de lectura acumulados se muestran en segundos.
arrojar --crudo -g -r -b 1k -B 256K 1t / dev / md1
or
abunda -g -r -b 1k -B 256K 1t / dev / md1
Escriba 1 tebibyte (1 tebibyte = 1024 * 1024 * 1024 * 1024 bytes) usando 1-256 solicitudes de kibibyte para
el dispositivo de bloque / dev / md1 usando el patrón aleatorio. Las búsquedas aleatorias se realizan antes
cada transferencia, pero cada bloque entre el inicio y el final de los datos se escribe exactamente
una vez. Los tamaños de las solicitudes se eligen al azar. Luego lea los mismos datos usando el mismo
solicitar tamaños y búsquedas en la misma secuencia. Repite la secuencia anterior un infinito
número de veces hasta que se le indique que salga (mediante señal o comando TUI).
Los datos se verifican para asegurarse de que los datos leídos coincidan con los datos leídos. Una maldición
TUI basada se utiliza para mostrar iteraciones y tasas de transferencia acumuladas, tiempos de transferencia y
bytes transferidos. Muestra estadísticas detalladas después de salir.
ALGORITMOS
El siguiente algoritmo se utiliza para determinar el tamaño de bloque cuando MAX_BUFFER_SIZE>
MIN_BUFFER_SIZE:
Encuentre el tamaño de bloque más grande que sea una potencia de 2 y sea> = MAX_BUFFER_SIZE. Llama esto
maxbuffersize. Encuentre el tamaño de búfer más pequeño que sea una potencia de 2 y sea> =
MIN_BUFFER_SIZE. Llame a este minbuffersize. Chunksize = maxbuffersize * (diferencia en
número de bits entre min y maxbuffersize + 1). El número de trozos es
TRANSFER_SIZE / chunksize. Llame a esto numchunks. Habrá numchunks número de
lecturas / escrituras que son de tamaño maxbuffersize, 2 * numchunks número de lecturas / escrituras que son
de tamaño maxbuffersize / 2, 4 * numchunks número de lecturas / escrituras que son de tamaño
maxbuffersize / 4, y así sucesivamente hasta que se alcance minbuffersize. MIN_BUFFER_SIZE se utiliza para
cualquier transferencia restante si TRANSFER_SIZE no es divisible uniformemente por chunksize.
Ejemplo: usando un MIN_BLOCK_SIZE de 1k, un MAX_BLOCK_SIZE de 8k y un TRANSFER_SIZE de 264k
da como resultado 8 8k lecturas / escrituras, 16 4k lectura / escritura, 32 2k lecturas / escrituras y 64 + 8 1k
lee / escribe.
PATRONES
Use la siguiente od(1) comando para examinar archivos generados arrojados donde una integridad de datos
ha ocurrido un problema:
od -A d --format = d8 --width = 32
Utilice regorge en línea utilizando los servicios de onworks.net