Slurmジョブの実行時間を取得する方法


  1. sacctコマンドを使用する方法:
sacct --format=JobID,JobName,Elapsed

このコマンドは、すべてのジョブのJobID、JobName、および経過時間(Elapsed)を表示します。

  1. scontrolコマンドを使用する方法:
scontrol show job <JobID> | grep Elapsed

このコマンドは、指定したJobIDのジョブの経過時間を表示します。

  1. ログファイルを解析する方法:

Slurmは、ジョブごとにログファイルを生成します。これらのログファイルを解析して、ジョブの実行時間を取得することもできます。ログファイルの場所は、Slurmの設定に依存しますが、一般的には/var/log/slurm/ディレクトリ以下にあります。

  1. スクリプト内で時間を計測する方法:

ジョブスクリプト内で時間を計測することもできます。以下は、Bashスクリプトの例です。

#!/bin/bash
start=$(date +%s)
# ジョブの実行コマンドや処理
end=$(date +%s)
runtime=$((end-start))
echo "ジョブの実行時間: $runtime 秒"

このスクリプトは、ジョブの開始と終了時のタイムスタンプを取得し、実行時間を計算して表示します。

これらはSlurmジョブの実行時間を取得するためのいくつかの方法の例です。具体的な状況に応じて、適切な方法を選択してください。