GNU/Linux >> Tutoriels Linux >  >> Linux

Sort --parallel ne parallélise pas

sort ne crée pas de thread sauf si nécessaire, et pour les petits fichiers, c'est trop lourd. Maintenant, malheureusement, sort traite un tube comme un petit fichier. Si vous souhaitez fournir suffisamment de données à 24 threads, vous devrez spécifier le tri pour utiliser un grand tampon interne (le tri le fait automatiquement lorsqu'il est présenté avec des fichiers volumineux). C'est quelque chose que nous devrions améliorer en amont (au moins dans la documentation). Donc, vous voudrez quelque chose comme :

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

Notez que j'ai défini LC_ALL=C pour tous les processus, car ils bénéficieront tous de ces données).

BTW, vous pouvez surveiller les fils de tri avec quelque chose comme :

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

Linux
  1. Awk one-liners et scripts pour vous aider à trier les fichiers texte

  2. Comment rechercher et trier des fichiers en fonction de la date et de l'heure de modification sous Linux

  3. Comment lister ou trier tous les fichiers par taille sous Linux

  4. Quelle commande est utilisée pour trier la liste des fichiers/dossiers par heure ?

  5. Fichiers .o vs fichiers .a

Comment trier des fichiers sous Linux (GUI et Shell)

Comment trier des fichiers dans Ubuntu (GUI et Shell)

Utilisation de Bash Sort pour trier les fichiers comme un patron

Comment trouver les répertoires les plus volumineux ou les fichiers les plus volumineux ?

Comment lister les fichiers de manière récursive et les trier par heure de modification ?

Trier les fichiers texte avec plusieurs lignes sur une ligne