目次 (4.2.ジョブの実行方法(SLURMコマンド編))
4.2. ジョブの実行方法(SLURMコマンド編)
4.2.1. ジョブ投入コマンド(sbatch)
4.2.2. ジョブ情報表示コマンド(squeue)
4.2.3. ジョブのキャンセルコマンド(scancel)
4.2.4. ジョブステータス情報表示コマンド(sstat)
4.2.5. 実行ジョブ情報表示コマンド(sacct)
4.2.ジョブの実行方法(SLURMコマンド編)
ジョブを実行するには、フロントエンドサーバからコマンドを実行します。
ジョブ管理のためのコマンドは次のとおりです。
表4.2 ジョブ管理コマンド一覧(SLURMコマンド編)
コマンド | コマンド用途 | 手順 |
---|---|---|
sinfo -s |
キュー(パーティション)の情報を表示する | 4.1.2.キュー情報の確認方法 |
squeues |
キューのノード実行状況を表示する | |
freenodes |
空ノード数を表示する | 4.1.3. 利用可能なノード数の確認方法 |
sbatch |
ジョブを投入する | 4.2.1.ジョブ投入コマンド(sbatch) |
squeue |
ジョブの状態を表示する | 4.2.2.ジョブ情報表示コマンド(squeue) |
scancel |
ジョブをキャンセルする | 4.2.3.ジョブのキャンセルマンド(scancel) |
4.2.1.ジョブ投入コマンド(sbatch)
ジョブを実行するために、ジョブ投入スクリプトを事前に作成します。sbatch
コマンドにジョブ投入スクリプトを指定することで、ジョブがキューイングされ実行されます。
【sbatch
コマンドの書式】
sbatch ジョブ投入スクリプト
注)bsub
と異なり、リダイレクトではなく、引数でジョブ投入スクリプトを渡します。
【sbatch
コマンドの例(スクリプトファイルがrun.sh
の場合)】
$ sbatch run.sh
ジョブ投入コマンド(sbatch
)について、以下に主なオプションを示します。
表 4.2.1 sbatch
オプション
オプション | 概要 |
---|---|
sbatch -J "sample job name" |
ジョブに任意のジョブ名をつけます。 |
sbatch -p キュー名 |
指定したキュー名のキュー(パーティション)にジョブを投入します。 |
sbatch -N ノード数 |
ノード数を指定します。 |
sbatch -n プロセス数 |
ジョブ全体でのプロセス数を指定します。 |
sbatch -o ./out_%j.log (※) |
out_ジョブIDという名前のファイルに標準出力を出力します。-e オプションが指定されていない場合は、標準エラー出力もこのファイルに出力されます。 |
sbatch -e ./err_%j.log (※) |
err_ジョブIDという名前のファイルに標準エラー出力を出力します。 ※シンボル「 %j 」はジョブIDに置換されます。 |
4.2.2.ジョブ情報表示コマンド(squeue)
ジョブの各種情報を表示するときは、squeue
コマンドを実行します。
squeue
注)他の利用者の情報は表示されません。
【squeue
コマンド例】
$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) xxxx d024h testrun u***0001 R 4:58 60 d[007-066] xxxx c006m testrun u***0001 CG 0:39 1 c001
<出力説明>
カラム | 説明 |
---|---|
JOBID | ジョブに割り当てられたジョブIDが表示されます。 ジョブの削除( scancel )などで指定する識別子となります。 |
PARTITION | ジョブを投入したキューの名前を表示します。 |
NAME | ジョブ名(未指定の場合はコマンド文字列)を表示します。 |
USER | ジョブ投入リクエスト(ジョブ)の実行者を表示します。 |
ST | ジョブの状態を表示します。主なジョブの状態を以下の表に示します。 |
TIME | ジョブの実行時間(形式:days-hh:mm:ss) |
NODES | ジョブ実行に使用されるノード数 |
NODELIST(REASON) | ジョブが実行されるホスト名のリスト (ジョブ状態に対する理由があれば表示されます) ジョブ状態がPD(PENDING)の場合のREASONを下記に示します。 (Resources) リソースが利用可能になるのを待っています。 (Priority) パーティション内の優先度の高いジョブが完了するのを待っています。 (Dependency) このジョブが依存する他のジョブが完了するのを待っています。 (InvalidQOS) Resources と同義です。 |
表 4.2.2 ジョブ状態(squeue
コマンド-STフィールド)
状態 | 説明 |
---|---|
CA (CANCELLED) | ジョブが明示的にユーザまたはシステム管理者によってキャンセルされました。 |
CD (COMPLETED) | ジョブは、すべてのノード上のすべてのプロセスを終了しました。 |
CF (CONFIGURING) | ジョブは、資源が割り当てられた後、資源が使える状態になるのを待っている状態です。 |
CG (COMPLETING) | ジョブは、終了手続きの過程にあります。 |
F (FAILED) | ジョブは、ゼロ以外の終了コードまたはその他の障害状態で終了しました。 |
NF (NODE_FAIL) | ジョブは、割り当てられたノードのいずれかの故障のために終了しました。 |
PD (PENDING) | ジョブは、資源の割り当てを待っています。保留中です。 |
PR (PREEMPTED) | ジョブが中断のために終了しました。 |
R (RUNNING) | ジョブは、現在実行中です。 |
S (SUSPENDED) | ジョブは、資源の割り当てを持っています(実行が中断されています)。 |
TO (TIMEOUT) | ジョブは、その制限時間に達して終了しました。 |
4.2.3.ジョブのキャンセルマンド(scancel)
ジョブをキャンセルするにはscancelコマンドを用います。squeue
コマンドなどで確認したジョブIDを指定します。scancel
の後に、ジョブIDをスペース区切りで指定すると、複数のジョブを一度にキャンセルすることができます。
scancel ジョブID ジョブID ジョブID
4.2.4.ジョブステータス情報表示コマンド(sstat)
ジョブの各種情報(メモリ使用量やディスクI/O量など)を表示するときは、sstat
コマンドを実行します。ジョブを実行中に実行する必要があります。
sstat –j ジョブID[.ステップID] [-o 項目[,項目]]
注)他の利用者の情報は表示されません。
ジョブが使用中のメモリ量につきましては、下記のコマンドで確認いただけます。
sstat –j ジョブID[.ステップID] -o JobID,MaxVMSize,MaxRSS
注)他の利用者の情報は表示されません。
- ステップID は
squeue -s
コマンドで確認することができます。 - ステップID は省略可能ですが、逐次処理の場合はステップID として「
batch
」を指定します。 - 仮想メモリサイズは
MaxVMSize
、物理メモリ消費サイズはMaxRSS
を指定します。
ジョブステータス情報表示コマンド(sstat
)について、以下に主なオプションを示します。
表 4.2.4 sstatオプション
オプション | 概要 |
---|---|
-j ジョブID[.ステップID] |
ジョブIDを指定します。必須のオプションです。ステップIDは省略可能です。 ステップIDは squeue -s コマンドで確認することができます。※逐次処理の場合はステップIDとして「 batch 」を指定します。 |
–o 項目[,項目]... |
出力する項目をカンマ区切りで指定します。指定しない場合、全ての項目が表示されます。 一部、FOCUS環境では取得できない項目もあります。 出力項目例
JobID ジョブに割り当てられたジョブIDが表示されます。 MaxVMSize ジョブの全てのタスクでの仮想メモリサイズの最大値です。 MaxRSS ジョブの全てのタスクでの物理メモリ消費サイズの最大値です。 |
-e |
-o オプションで指定できる項目を表示します。 |
【sstat
コマンド例1】
$ sstat -j 45643 -o JobID,MaxVMSize,MaxRSS,MaxPages,MaxDiskRead,MaxDiskWrite JobID MaxVMSize MaxRSS MaxPages MaxDiskRead MaxDiskWrite ------------ ---------- ---------- -------- ------------ ------------ 45643.0 1332496K 39276K 293K 1M 0.29M
【sstat
コマンド例2】
$ sstat -j 45638.0 JobID MaxVMSize MaxVMSizeNode MaxVMSizeTask AveVMSize MaxRSS MaxRSSNode MaxRSSTask AveRSS MaxPages MaxPagesNode MaxPagesTask AvePages MinCPU MinCPUNode MinCPUTask AveCPU NTasks AveCPUFreq ReqCPUFreq ConsumedEnergy MaxDiskRead MaxDiskReadNode MaxDiskReadTask AveDiskRead MaxDiskWrite MaxDiskWriteNode MaxDiskWriteTask AveDiskWrite ------------ ---------- -------------- -------------- ---------- ---------- ---------- ---------- ---------- -------- ------------ -------------- ---------- ---------- ---------- ---------- ---------- -------- ---------- ---------- -------------- ------------ --------------- --------------- ------------ ------------ ---------------- ---------------- ------------ 45638.0 1579688K g002 1 912640K 38696K g002 1 26118K 279K g002 1 214K 00:00.000 g001 0 00:00.000 2 2.50G 0 0.96M g002 1 0.68M 0.02M g002 1 0.02M
<出力説明>
カラム | 説明 |
---|---|
JOBID | ジョブに割り当てられたジョブIDが表示されます。 |
MaxVMSize | ジョブの全てのタスクでの仮想メモリサイズの最大値です。 |
MaxVMSizeNode | MaxVMSizeが発生しているノードです。 |
MaxVMSizeTask | MaxVMSizeが発生しているタスクのIDです。 |
AveVMSize | ジョブの全てのタスクでの仮想メモリサイズの平均値です。 |
MaxRSS | ジョブの全てのタスクでの物理メモリ消費サイズの最大値です。 |
MaxRSSNode | MaxRSSが発生しているノードです。 |
MaxRSSTask | MaxRSSが発生しているタスクのIDです。 |
AveRSS | ジョブの全てのタスクの物理メモリ消費サイズの平均値です。 |
MaxPages | ジョブの全てのタスクでのページフォールト数の最大値です。 |
MaxPagesNode | MaxPagesが発生しているノードです。 |
MaxPagesTask | MaxPagesが発生しているタスクのIDです。 |
AvePages | ジョブの全てのタスクでのページフォールト数の平均値です。 |
MinCPU | ジョブの全てのタスクでのCPU時間の最小値です。 |
MinCPUNode | MinCPUが発生しているノードです。 |
MinCPUTask | MinCPUが発生しているタスクのIDです。 |
AveCPU | ジョブの全てのタスクでのCPU時間の平均値です。 |
NTasks | ジョブまたはステップの中でのタスクの合計数です。 |
AveCPUFreq | ジョブの全てのタスクでの重み付けをしたCPU周波数の平均値(kHz)です。 |
ReqCPUFreq | ステップに要求されたCPU周波数(kHz)です。 |
ConsumedEnergy | ジョブの全てのタスクでの消費エネルギー(ジュール)です。 |
MaxDiskRead | ジョブの全てのタスクでの読み込み量の最大値(bytes)です。 |
MaxDiskReadNode | MaxDiskReadが発生しているノードです。 |
MaxDiskReadTask | MaxDiskReadが発生しているタスクのIDです。 |
AveDiskRead | ジョブの全てのタスクでの読み込み量の平均値(bytes)です。 |
MaxDiskWrite | ジョブの全てのタスクでの書き込み量の最大値(bytes)です。 |
MaxDiskWriteNode | MaxDiskWriteが発生しているノードです。 |
MaxDiskWriteTask | MaxDiskWriteが発生しているタスクのIDです。 |
AveDiskWrite | ジョブの全てのタスクでの書き込み量の平均値(bytes)です。 |
4.2.5.実行ジョブ情報表示コマンド(sacct)
実行が完了したジョブの情報を表示するにはsacct
コマンドを用います。
sacct -j ジョブID -o 項目[,項目,...] –X
注)他の利用者の情報は表示されません。
実行が完了したジョブのメモリ量につきましては、下記のコマンドで確認いただけます。
sacct -j ジョブID -o JobID,MaxVMSize,MaxRSS
注)他の利用者の情報は表示されません。
sacct
コマンドについて、以下に主なオプションを示します。
表 4.2.5 sacct
オプション
オプション | 概要 |
---|---|
-j ジョブID |
ジョブIDを指定します。 |
–o 項目[,項目]... |
出力する項目をカンマ区切りで指定します。指定しない場合、-o 'JobID,JobName,Partition,Account,AllocCPUS,State,ExitCode' を指定した場合と同様の結果となります。 一部、FOCUS環境では取得できない項目もあります。 |
-e |
-o オプションで指定できる項目を表示します。 |
-X |
ジョブ情報のみ表示し、ステップ毎の情報は表示しません。 |
-S, --starttime |
指定の日時以降の情報を表示します。指定しない場合当日の0:00 が設定されます。 |
-E, --endtime |
指定の日時以前の情報を表示します。 |
sacct
コマンド例1】
$ sacct -j xxxxxx -o User,JobID,Partition,NNodes,Submit,Start,End,Elapsed,State -X User JobID Partition NNodes Submit Start End Elapsed State --------- ------------ ---------- -------- ------------------- ------------------- ------------------- ---------- ---------- uxxx000X xxxxxx c006m 1 2015-11-10T09:24:27 2015-11-10T09:24:31 2015-11-10T09:24:35 00:00:04 COMPLETED
<出力説明>
カラム | 説明 |
---|---|
User | ジョブ投入リクエスト(ジョブ)の実行者が表示されます。 |
JobID | ジョブに割り当てられたジョブID が表示されます。 |
Partition | ジョブを投入したキューの名前が表示されます。 |
NNodes | ジョブのノード数が表示されます。 |
Submit | ジョブを投入した日時が表示されます。 |
Start | ジョブの実行が開始した日時が表示されます。 |
End | ジョブの実行が完了した日時が表示されます。 |
Elapsed | ジョブの実行時間(形式:days-hh:mm:ss) |
State | ジョブの状態を表示します。 |