GNU/Linux >> Linux Esercitazione >  >> Linux

Sort --parallel non sta parallelizzando

sort non crea un thread a meno che non sia necessario, e per i file di piccole dimensioni è troppo sovraccarico. Ora sfortunatamente sort tratta una pipa come un piccolo file. Se desideri fornire dati sufficienti a 24 thread, dovrai specificare di ordinare per utilizzare un buffer interno di grandi dimensioni (sort lo fa automaticamente quando viene presentato con file di grandi dimensioni). Questo è qualcosa che dovremmo migliorare a monte (almeno nella documentazione). Quindi vorrai qualcosa come:

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

Nota che ho impostato LC_ALL=C per tutti i processi, dato che trarranno tutti vantaggio da questi dati).

A proposito, puoi monitorare i thread di ordinamento con qualcosa del tipo:

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

Linux
  1. Come trovare e ordinare i file in base alla data e all'ora di modifica in Linux

  2. Come elencare o ordinare tutti i file per dimensione in Linux

  3. Come trovare file di grandi dimensioni Linux con i comandi find e du

  4. Trova i file o le directory più grandi?

  5. Ordina i file di testo con più righe come una riga

Awk one-liner e script per aiutarti a ordinare i file di testo

Come ordinare i file in Linux (GUI e Shell)

Come ordinare i file in Ubuntu (GUI e Shell)

Usando Bash Sort per ordinare i file come un boss

Come trovare le directory più grandi o i file più grandi?

Come elencare i file in modo ricorsivo e ordinarli in base all'ora di modifica?