GNU/Linux >> Belajar Linux >  >> Linux

Sort --parallel tidak memparalelkan

sort tidak membuat utas kecuali diperlukan, dan untuk file kecil terlalu banyak biaya tambahan. Sekarang sayangnya sort memperlakukan pipa seperti file kecil. Jika Anda ingin memasukkan cukup data ke 24 utas maka Anda harus menentukan untuk mengurutkan untuk menggunakan buffer internal yang besar (urutkan melakukannya secara otomatis saat disajikan dengan file besar). Ini adalah sesuatu yang harus kami tingkatkan di hulu (setidaknya dalam dokumentasi). Jadi, Anda akan menginginkan sesuatu seperti:

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

Perhatikan bahwa saya telah menyetel LC_ALL=C untuk semua proses, karena semuanya akan mendapat manfaat dari data ini).

BTW Anda dapat memantau urutan utas dengan sesuatu seperti:

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

Linux
  1. Cara Menemukan file besar linux dengan perintah find dan du

  2. Temukan File atau Direktori Terbesar?

  3. Bagaimana Mengurutkan File Berdasarkan Izinnya Menggunakan Ls?

  1. Urutkan File Dalam Folder Tertentu Dengan Ranger?

  2. Bash Script Untuk Mengurutkan File Ke Folder Abjad Di Readynas Duo V1?

  3. Cara Mengurutkan File di Linux menggunakan Perintah Sortir

  1. wc file yang di-gzip?

  2. Gabungkan file pdf dengan pengurutan numerik

  3. Bagaimana menemukan direktori terbesar atau file terbesar?