$ qsub [オプション] ジョブファイル
$ qstat [オプション]
Job id Name User Time Use S Queue ------------------------- ---------------- --------------- -------- - ----- 760.servername JOB_NAME1 hoge 311:35:2 R F 762.servername JOB_NAME2 hoge 165:50:2 R F 860.servername JOB_NAME3 fuga 03:03:40 R F
$ qdel ジョブID ...
$ qorder ジョブID1 ジョブID2
$ qhold ジョブID1 ジョブID2 ...
$ qrls ジョブID1 ジョブID2 ...
$ qrun ジョブID1 ジョブID2 ...
$ qmove 変更後のキュー名 ジョブID1 ジョブID2 ...
$ qalter [投入時の属性オプション] ジョブID1 ジョブID2 ...
mpirun -n 16
で 16 CPU 使うのに対し、ppn=4
で 4 CPU に変更したりするとエラーで落ちるので注意)$ qsig -s シグナル ジョブID
#PBS …
で始まるジョブ指定#!/bin/bash #PBS -V #PBS -l nodes=1:ppn=4 #PBS -j oe #PBS -N jobname cd ${PBS_O_WORKDIR} 実行コマンド :
オプション | 意味 | 値 |
---|---|---|
-V | ジョブを投入した所の環境変数をすべて、ジョブファイルにも適用する | |
-v | ジョブを投入した所の環境変数を指定した分だけ、ジョブファイルにも適用する | |
-q | キューの指定 | |
-j | 出力ファイルの制御 | oe: 標準出力と標準エラーを標準ファイル(*.oジョブID)にまとめる, eo: 標準出力と標準エラーを標準エラーファイル(*.eジョブID)にまとめる, 指定しない場合は、それぞれのファイルが出力される |
-o | 標準出力ファイルのパス | |
-e | 標準エラーファイルのパス | |
-m | メール送信の方法 | 次の文字の組み合わせでメールの送信タイミングを指定 a: ジョブが失敗, b: ジョブが開始, e: ジョブが終了, n: 何もしない |
-M | メールの送信先 | |
-l | リソースの指定(複数ある場合は、カンマで区切る) | walltime=24:00:00 (CPU使用時間制限; CPU数は考慮しない時間) |
nodes=2:ppn=2 (2CPUずつ2ノードを使う; 計4CPU) | ||
nodes=ノード1:ppn=3+ノード2:ppn=2+ノード3:ppn=1 (特定のノードを利用する場合はノード名を書いて + で結合する) | ||
mem, ncpu が使える | ||
-N | ジョブ名 | 指定しない場合は、ジョブファイル名の先頭から15文字 |
/var/spool/torque/server_priv/nodes を編集して、torque サーバプログラムを再起動させて適用する方法もあるが、qmgr でもノードを追加したり削除することができる(ただし、ジョブ実行中のノードでない場合のみ)
$ sudo qmgr > create node ノード名 > set node ノード名 np = CPU数 > set node ノード名 properties = 名前 > quit
set node ノード名 gpus = GPU数
を実行すると GPU の設定ができる (ただし、Torque 2.5.6, 3.0.2 以降に限る)qnodes -a
を実行すると、ノードが追加されたことが分かる他、/var/spool/torque/server_priv/nodes を見ると、追記されている。help_starving_jobs true ALL
の true を false に変えるmax_starve: 24:00:00
の時間を長くする$ qstat -f
でジョブ状態を表示し、その中に comment = Not Running: Draining system to allow starving job to run
とあれば、この問題でジョブが処理されないことになる。