GNU/Linux >> Linux Esercitazione >  >> Linux

In Slurm esiste un comando rapido per determinare il numero totale di lavori (in sospeso e attivi) in un dato momento?

Se vuoi solo riassumere l'output di squeue , che ne dici di:

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

che produce qualcosa come:

R  (Running)    1
PD (Pending)    4

Spiegazioni:

  • Il job state si presume che sia nel 5° campo in base al formato predefinito di squeue .
  • Quindi lo script conta l'aspetto di ciascun codice di stato del lavoro, ad eccezione della prima riga che include l'intestazione.
  • Infine riporta il conteggio di ciascun codice di stato del lavoro.

Per renderlo utile, aggiungi le seguenti righe al tuo .bash_aliases o .bashrc (il nome del file può dipendere dal sistema):

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

Quindi puoi invocare il comando solo con summary [option] , dove [option] accetta opzioni fino a squeue se necessario (per lo più non necessario).

Spero che questo aiuti.


Interpreterei "comando rapido" in modo diverso. Inoltre aggiungerei -r per i casi in cui utilizzi job array:

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

l'opzione -h rimuove l'intestazione "wc -l" (conteggio parole) conta la riga dell'output. Alla fine lo sto usando con watch

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

Linux
  1. Slash e il comando rsync

  2. Come funzionano le opzioni '-s', '-t' e '-c' del comando tr in Unix?

  3. Come determinare il numero della settimana del mese

  4. Come posso trovare il numero totale di connessioni TCP per una determinata porta e periodo di tempo per IP?

  5. Apre un file dato dal risultato di un comando in vim

Come usare Sudo e il file Sudoers

Comandi Linux:job, bg e fg

Visualizzazione dell'elenco di tutti i lavori "at" e dei rispettivi comandi

MySQL la riga di comando e i cercapersone

Esiste un comando in Linux per conoscere il numero del processore in cui viene caricato un processo?

Il comando 'ls -d' non visualizza le directory. C'è un modo per fare in modo che "ls" visualizzi solo le directory invece di file e directory?