GNU/Linux >> Tutoriales Linux >  >> Linux

Ordenar --parallel no está paralelizando

sort no crea un hilo a menos que sea necesario, y para archivos pequeños es demasiado sobrecarga. Ahora, desafortunadamente, sort trata una tubería como un archivo pequeño. Si desea alimentar suficientes datos a 24 subprocesos, deberá especificar ordenar para usar un búfer interno grande (la ordenación lo hace automáticamente cuando se le presentan archivos grandes). Esto es algo que deberíamos mejorar en sentido ascendente (al menos en la documentación). Así que querrás algo como:

(export LC_ALL=C; grep -E  <files> | sort -S1G --parallel=24 -u | wc -m)

Tenga en cuenta que configuré LC_ALL=C para todos los procesos, ya que todos se beneficiarán con estos datos).

Por cierto, puedes monitorear los subprocesos de clasificación con algo como:

watch -n.1 ps -C sort -L -o pcpu

Linux
  1. Cómo enumerar u ordenar todos los archivos por tamaño en Linux

  2. Cómo encontrar archivos grandes de Linux con los comandos find y du

  3. ¿Encontrar archivos o directorios más grandes?

  4. ¿Cómo ordenar los archivos por sus permisos usando Ls?

  5. ¿Ordenar archivos en una carpeta específica con Ranger?

Awk one-liners y scripts para ayudarlo a ordenar archivos de texto

Cómo encontrar y ordenar archivos según la fecha y hora de modificación en Linux

Cómo ordenar archivos en Linux (GUI y Shell)

Cómo ordenar archivos en Ubuntu (GUI y Shell)

¿Qué comando se usa para ordenar la lista de archivos/carpetas por tiempo?

Usando Bash Sort para ordenar archivos como un jefe