GNU/Linux >> Linux の 問題 >  >> Linux

Slurm で、特定の時点でのジョブ (保留中およびアクティブ) の総数を確認する簡単なコマンドはありますか?

squeue の出力を要約したいだけなら 、いかがですか:

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

次のような結果が得られます:

R  (Running)    1
PD (Pending)    4

説明:

  • job state squeue のデフォルト形式に従って、5 番目のフィールドにあると想定されます .
  • 次に、スクリプトは、ヘッダーを含む最初の行を除いて、各ジョブ状態コードの出現をカウントします。
  • 最後に、各ジョブ状態コードの数を報告します。

便利にするために、次の行を .bash_aliases に追加します または .bashrc (ファイル名はシステムによって異なる場合があります):

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

次に、 summary [option] だけでコマンドを呼び出すことができます 、ここで [option] squeue までのオプションを受け入れます 必要に応じて (ほとんど不要)。

これがお役に立てば幸いです。


「クイックコマンド」を別の方法で解釈します。さらに、ジョブ配列を使用している場合は -r を追加します:

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

オプション -h はヘッダーを削除します "wc -l" (ワード カウント) は出力の行をカウントします。最終的には watch で使用しています

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

Linux
  1. コマンド「ls -d」でディレクトリが表示されません。ファイルとディレクトリの代わりにディレクトリのみを表示するように「ls」を取得する方法はありますか?

  2. 月の週数を決定する方法

  3. 特定のポートと期間の TCP 接続の総数を IP で調べるにはどうすればよいですか?

  1. Linuxのwatchコマンドでコマンドとタスクを監視する

  2. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  3. コマンドの結果として指定されたファイルを vim で開く

  1. Linux Sedコマンド:使用法と例

  2. Linuxコマンド:jobs、bg、およびfg

  3. すべての「at」ジョブとそれぞれのコマンドのリストを表示する