GNU/Linux >> Belajar Linux >  >> Linux

Di Slurm, apakah ada perintah cepat untuk menentukan jumlah total pekerjaan (tertunda dan aktif) pada saat tertentu?

Jika Anda hanya ingin merangkum keluaran dari squeue , bagaimana dengan:

squeue -u <username> | awk '
BEGIN {
    abbrev["R"]="(Running)"
    abbrev["PD"]="(Pending)"
    abbrev["CG"]="(Completing)"
    abbrev["F"]="(Failed)"
}
NR>1 {a[$5]++}
END {
    for (i in a) {
        printf "%-2s %-12s %d\n", i, abbrev[i], a[i]
    }
}'

yang menghasilkan sesuatu seperti:

R  (Running)    1
PD (Pending)    4

Penjelasan:

  • job state diasumsikan berada di kolom ke-5 sesuai dengan format default squeue .
  • Kemudian skrip menghitung tampilan setiap kode status pekerjaan kecuali untuk baris pertama yang menyertakan tajuk.
  • Akhirnya melaporkan jumlah setiap kode status pekerjaan.

Untuk memudahkan, tambahkan baris berikut ke .bash_aliases Anda atau .bashrc (nama file mungkin bergantung pada sistem):

function summary() {
    squeue "[email protected]" | awk '
    BEGIN {
        abbrev["R"]="(Running)"
        abbrev["PD"]="(Pending)"
        abbrev["CG"]="(Completing)"
        abbrev["F"]="(Failed)"
    }
    NR>1 {a[$5]++}
    END {
        for (i in a) {
            printf "%-2s %-12s %d\n", i, abbrev[i], a[i]
        }
    }'
}

Kemudian Anda dapat menjalankan perintah hanya dengan summary [option] , di mana [option] menerima opsi untuk squeue jika diperlukan (kebanyakan tidak perlu).

Semoga ini bisa membantu.


Saya akan mengartikan "perintah cepat" secara berbeda. Selain itu saya akan menambahkan -r untuk kasus ketika Anda menggunakan array pekerjaan:

squeue -u <username> -h -t pending,running -r | wc -l

opsi -h menghapus tajuk "wc -l" (jumlah kata) menghitung baris keluaran. Akhirnya saya menggunakannya dengan jam tangan

watch 'squeue -u <username> -h -t pending,running -r | wc -l'

Linux
  1. Tonton perintah dan tugas dengan perintah jam tangan Linux

  2. Perintah 'ls -d' tidak menampilkan direktori. Apakah ada cara untuk mendapatkan 'ls' untuk hanya menampilkan direktori, bukan file dan direktori?

  3. Cara menentukan jumlah minggu dalam sebulan

  1. Perintah Linux:pekerjaan, bg, dan fg

  2. Menampilkan daftar semua pekerjaan 'at' dan perintahnya masing-masing

  3. Pengalihan Io Dan Perintah Kepala?

  1. Apakah ada perintah linux untuk menentukan ID jendela yang terkait dengan ID proses tertentu?

  2. Garis miring dan perintah rsync

  3. Bagaimana opsi '-s', '-t', dan '-c' dari perintah tr bekerja di Unix?