GNU/Linux >> Znalost Linux >  >> Linux

Existuje ve Slurmu rychlý příkaz k určení celkového počtu úloh (nevyřízených a aktivních) v daný okamžik?

Pokud chcete jen shrnout výstup squeue , co třeba:

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]
    }
}'

což dává něco jako:

R  (Running)    1
PD (Pending)    4

Vysvětlení:

  • job state předpokládá se, že je v 5. poli podle výchozího formátu squeue .
  • Potom skript spočítá výskyt každého kódu stavu úlohy kromě 1. řádku, který obsahuje záhlaví.
  • Nakonec nahlásí počet jednotlivých kódů stavu úlohy.

Aby to bylo praktické, přidejte do .bash_aliases následující řádky nebo .bashrc (název souboru může záviset na systému):

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]
        }
    }'
}

Poté můžete příkaz vyvolat pouze pomocí summary [option] , kde [option] přijímá možnosti na squeue v případě potřeby (většinou zbytečné).

Doufám, že to pomůže.


"Rychlý příkaz" bych si vyložil jinak. Navíc bych přidal -r pro případy, kdy používáte pole úloh:

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

volba -h odstraní hlavičku "wc -l" (počet slov) počítá řádek výstupu. Nakonec ji používám s hodinkami

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

Linux
  1. Příkaz 'ls -d' nezobrazuje adresáře. Existuje způsob, jak získat 'ls', aby zobrazoval pouze adresáře namísto souborů a adresářů?

  2. Jak určit počet týdnů v měsíci

  3. Otevřete soubor daný výsledkem příkazu ve vim

  1. Příkaz Linux Sed:Použití a příklady

  2. Jaký je příkaz k určení, zda jsou OpenSSL a mod_ssl nainstalovány na apache2?

  3. Zkontrolujte počet aktivních připojení na portu 80?

  1. Linuxové příkazy:jobs, bg a fg

  2. Lomítka a příkaz rsync

  3. Jak fungují volby '-s', '-t' a '-c' příkazu tr v Unixu?