OpenPBSで個人的によく使うコマンドをまとめました。
ジョブ投入 qsub exec.sh
ジョブを投入するには、実行内容を記述したexec.shをqsubコマンドで実行する。
exec.shの例
#!/bin/bash
#PBS -N TestJob
#PBS -l walltime=24:00:00
#PBS -l ncpus=1
#PBS -q workq
#PBS -o stdout.txt
#PBS -e stderr.txt
cd $PBS_O_WORKDIR
sleep 1s
echo HelloWorld
#PBSで始まる行はジョブに関する設定。書いておいたほうが良いが、書かない場合もデフォルト設定のものが適用されて動作はする。また qsub -N TestJob exec.sh のようにコマンドラインで指定することも可能。よく使う項目を以下の表にまとめた。
スクリプト内 | コマンドライン引数 | |
---|---|---|
ジョブ名の指定 | #PBS -N JobName | -N JobName |
使用CPUコア数 | #PBS -l ncpus=1 | -l ncpus=1 |
実行時間上限 | #PBS -l walltime=24:00:00 | -l walltime=24:00:00 |
キューの指定 | #PBS -q workq | -q workq |
標準出力ファイル | #PBS -o stdout.txt | -o stdout.txt |
エラー出力ファイル | #PBS -e stderr.txt | -e stderr.txt |
コマンドラインからスクリプト内に変数を渡す | -v “var1=${var1},var2=${var2}” |
ジョブの実行開始時刻を指定する方法
qsub -a 1200 exec.sh
1200は12時00分という意味。ジョブがキューに追加された後に実行待ち状態になり、12時になったら処理が始まる。ここの日時指定方法は以下の表のとおり。
qsub -a 1300 | その日の13時00分 |
qsub -a 06201300 | 6月20日の13時00分 |
ジョブ確認 qstat
qsubで投入したジョブの状況を確認する。
qstat | 実行待ち&実行中のジョブ一覧の確認 |
qstat <ジョブ番号> | 指定したジョブの確認 |
qstat -x | 実行待ち&実行中&終了したジョブ一覧の確認 |
qstat -f <ジョブ番号> | 指定したジョブの詳細確認 |
qstat -q | キューの使用状況の確認 |
qstat -B | ノードの使用状況の確認 |
qstat -w | qstatの内容を文字列幅を広げて確認 |
ノードの稼働状況の確認
pbsnodes -a
ノードやキューの設定を確認する
qmgr -c “p s”
コメント