Estoy usando cat
para canalizar diferentes archivos en un archivo grande. El número de archivos diferentes varía, desde dos hasta diez, pero el tamaño total de todos los archivos es siempre el mismo (un par de GB).
Mi problema: cuando llego al caso donde tengo un total de seis archivos, el tiempo que lleva concatenarlos picos (es decir, significativamente más que con cinco o siete), y no tengo idea de por qué.
Alguien tiene una idea?
Los archivos (todos del mismo tamaño)
output
outputTEMP1
outputTEMP2
outputTEMP3
outputTEMP4
outputTEMP5
Mando
cat outputTEMP* >> output && rm -f outputTEMP*
Actualmente, la Máquina debe realizar algunos cálculos, pero actualizaré más adelante cuando haya nuevas mediciones disponibles.
linux
performance
brandstaetter
fuente
fuente
Respuestas:
Una forma de depurar este problema es usar strace.
La opción -tt registra la marca de tiempo de la llamada del sistema a una resolución de milisegundos. -e trace = abrir, cerrar solo registro abrir, cerrar API. Intenta eliminarlos y verás un archivo de registro muy ruidoso.
fuente
Así que el comentario de Davides es perfecto. Necesitamos dos cosas aquí, para hacer una evaluación precisa:
Suponiendo que tenga el espacio en disco, describiré un escenario de prueba que determinará con mayor precisión si se trata de un problema real. Si es así, la evidencia de apoyo de este enfoque ayudará a los desarrolladores a saber que es real y poder reproducirlo.
Para ayudar con el aislamiento del problema, no hagamos la parte completa aquí. Deje que los archivos TEMP se asienten después. Luego puede repetir las pruebas haciendo la parte 'rm' más tarde, si lo desea.
Aquí está el escenario de prueba:
usa el comando de tiempo así:
tiempo (cat outputTEMP * & gt; & gt; output)
Capture los números reales, de usuario y de sistema informados para cada prueba que ejecute.
Estoy de acuerdo con Reynolds; Si esto es real, definitivamente debe enviar los detalles por correo electrónico a [email protected].
fuente