GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gibt es in Slurm einen schnellen Befehl, um die Gesamtzahl der Jobs (ausstehend und aktiv) zu einem bestimmten Zeitpunkt zu ermitteln?

Wenn Sie nur die Ausgabe von squeue zusammenfassen möchten , wie wäre es mit:

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

was so etwas ergibt wie:

R  (Running)    1
PD (Pending)    4

Erläuterungen:

  • Die job state wird gemäß dem Standardformat von squeue im 5. Feld angenommen .
  • Dann zählt das Skript das Auftreten jedes Auftragsstatuscodes mit Ausnahme der ersten Zeile, die den Header enthält.
  • Schließlich wird die Anzahl der einzelnen Jobstatuscodes gemeldet.

Fügen Sie der Einfachheit halber die folgenden Zeilen zu Ihrem .bash_aliases hinzu oder .bashrc (der Dateiname kann vom System abhängen):

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

Dann können Sie den Befehl einfach mit summary [option] aufrufen , wobei [option] akzeptiert Optionen bis squeue bei Bedarf (meistens unnötig).

Hoffe das hilft.


Ich würde "Schnellbefehl" anders interpretieren. Zusätzlich würde ich -r für Fälle hinzufügen, in denen Sie Job-Arrays verwenden:

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

Option -h entfernt den Header "wc -l" (word count) zählt die Zeilen der Ausgabe. Eventuell verwende ich es mit watch

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

Linux
  1. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

  2. So finden Sie die Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen

  3. Der Linux-Sed-Befehl:Verwendung und Beispiele

  4. Anzeige der Liste aller „at“-Jobs und ihrer jeweiligen Befehle

  5. Io-Umleitung und der Head-Befehl?

So verwenden Sie Sudo und die Sudoers-Datei

Gibt es einen Linux-Befehl, um die Fenster-IDs zu bestimmen, die einer bestimmten Prozess-ID zugeordnet sind?

MySQL die Befehlszeile und Pager

Gibt es in Linux einen Befehl, um die Prozessornummer zu ermitteln, in der ein Prozess geladen wird?

Der Befehl 'ls -d' zeigt keine Verzeichnisse an. Gibt es eine Möglichkeit, 'ls' dazu zu bringen, nur Verzeichnisse anstelle von Dateien und Verzeichnissen anzuzeigen?

Wie lautet der Befehl, um festzustellen, ob OpenSSL und mod_ssl auf Apache2 installiert sind?