GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sort --parallel parallelisiert nicht

sort erstellt keinen Thread, wenn es nicht nötig ist, und für kleine Dateien ist es einfach zu viel Overhead. Jetzt behandelt sort leider eine Pipe wie eine kleine Datei. Wenn Sie 24 Threads genügend Daten zuführen möchten, müssen Sie sortieren, um einen großen internen Puffer zu verwenden (sort tut dies automatisch, wenn große Dateien angezeigt werden). Dies ist etwas, das wir im Upstream verbessern sollten (zumindest in der Dokumentation). Sie möchten also etwas wie:

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

Hinweis:Ich habe LC_ALL=C für alle Prozesse gesetzt, da sie alle von diesen Daten profitieren).

Übrigens können Sie die Sortierthreads mit etwas wie:

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

Linux
  1. Awk Einzeiler und Skripte, die Ihnen beim Sortieren von Textdateien helfen

  2. So finden und sortieren Sie Dateien basierend auf Änderungsdatum und -zeit in Linux

  3. So listen oder sortieren Sie alle Dateien nach Größe in Linux

  4. So finden Sie große Dateien unter Linux mit den Befehlen find und du

  5. Wie sortiert man Dateien nach ihren Berechtigungen mit Ls?

So sortieren Sie Dateien in Linux (GUI und Shell)

So sortieren Sie Dateien in Ubuntu (GUI und Shell)

Größte Dateien oder Verzeichnisse finden?

Welcher Befehl wird verwendet, um die Liste der Dateien/Ordner nach Zeit zu sortieren?

Verwenden von Bash Sort zum Sortieren von Dateien wie ein Boss

Textdateien mit mehreren Zeilen als Reihe sortieren