versiones tag sistema operativo nĂșcleo nucleo llamado fuente cual codigo arquitectura linux bash gzip

tag - linux y sus versiones



Gzip con todos los nĂșcleos (3)

Es posible que desee considerar el control paralelo de GNU . También encontré este video en youtube que parece hacer lo que estás buscando.

Tengo un conjunto de servidores llenos cada uno con un montón de archivos que pueden ser comprimidos. Todos los servidores tienen diferentes números de núcleos. ¿Cómo puedo escribir un script bash para iniciar un gzip para cada núcleo y asegurarme de que los gzips no estén comprimiendo el mismo archivo?


Hay una implementación de gzip que es multiproceso, pigz . Como está comprimiendo un archivo en varios hilos, debería poder leer desde el disco de manera más eficiente, en comparación con la compresión de múltiples archivos a la vez.


Si está en Linux, puede usar los xargs de GNU para ejecutar tantos procesos como núcleos tenga.

CORES=$(grep -c ''^processor'' /proc/cpuinfo) find /source -type f -print0 | xargs -0 -n 1 -P $CORES gzip -9

  • find -print0 / xargs -0 lo protege del espacio en blanco en nombres de archivo
  • xargs -n 1 significa un proceso de gzip por archivo
  • xargs -P especifica el número de trabajos
  • gzip -9 significa compresión máxima