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:
überwachenwatch -n.1 ps -C sort -L -o pcpu