「ジョブ管理システム PBSを用いた計算機の利用」の版間の差分

提供:biaswiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の70版が非表示)
1行目: 1行目:
== ジョブ管理システム ==
== ジョブ管理システム ==
*複数のユーザが平等に計算機資源(メモリ, CPU)を使うためのしくみです。
*複数のユーザが平等に計算機資源(メモリ, CPU)を使うためのしくみです。
*投入された順番に空いている資源を利用して実行していきます。
*ジョブが投入された順番に空いている資源を利用して実行していきます。
*'''データ解析をする場合は、基本的にこのジョブ管理システムを利用してください'''
*'''データ解析をする場合は、基本的にこのジョブ管理システムを利用してください'''
*実行したい処理を '''シェルスクリプト''' [http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html シェルスクリプト入門へのリンク] に書き、qsub コマンドの引数にして実行させます。
*実行したい処理を '''シェルスクリプト''' [http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html シェルスクリプト入門へのリンク] に書き、qsub コマンドの引数にして実行させます。
*ここでは「'''PBS''' [https://pbsworks.com/pdfs/PBSUserGuide13.0.pdf PBSユーザーズガイドへのリンク]」というジョブ投入のシステムを採用しています。<br><br>
*ここでは「'''PBS''' [https://www.altairjp.co.jp/pdfs/pbsworks/PBSUserGuide2021.1.pdf PBSユーザーズガイドへのリンク]」というジョブ投入のシステムを採用しています。
** 残念なお知らせですが、cat キューは終了となりました
*この資料も参考にしてください。 [https://biaswiki.nibb.ac.jp/menu/index.php/SGE用スクリプトファイルをPBS用に書き換える方法 SGE用スクリプトファイルをPBS用に書き換える方法]
* 説明会資料もご覧ください
** [https://biaswiki.nibb.ac.jp/menu/index.php/利用講習会 生物情報解析システム Ver.5利用者説明会]
 
* 残念なお知らせですが、cat キューは終了となりました


== 利用可能なキュー ==
== 利用可能なキュー ==
キュー一覧
{| class="wikitable" style="text-align: center;"
<table border="1" cellpadding="4">
|+キュー一覧
<tr>
|
    <td><div align="center"></div></td>
!colspan="4"|分散並列処理型 : parallel distributed processing
    <td colspan=3><div align="center">'''分散並列処理型 : parallel distributed processing'''</div></td>
!colspan="3"|共有メモリ型 : shared memory
  <td colspan=3><div align="center">'''共有メモリ型 : shared memory'''</div></td>
|-
  </tr>
!|queue
  <tr>
|style="color:blue" | small (default)
    <td><div align="center">queue</div></td>
|medium
    <td><div align="center">'''small''' (default)</div></td>
|large
    <td><div align="center">'''medium'''</div></td>
|blast
    <td><div align="center">'''large'''</div></td>
|smps
  <td><div align="center">'''smps'''</div></td>
|smpm
  <td><div align="center">'''smpm'''</div></td>
|smpl
  <td><div align="center">'''smpl'''</div></td>
|-
  </tr>
!|ジョブの特徴
  <tr>
|短時間・並列多
    <td><div align="center">ジョブの特徴</div></td>
|中規模
    <td><div align="center">短時間・並列多</div></td>
|長時間
    <td><div align="center">中規模</div></td>
|BLAST nr/nt only
    <td><div align="center">長時間</div></td>
|中メモリ
    <td><div align="center">中メモリ</div></td>
|大メモリ
  <td><div align="center">大メモリ</div></td>
|最大メモリ
  <td><div align="center">最大メモリ</div></td>
|-
  </tr>
!|Avairable hosts
<tr>
|bias5-node01~node20
    <td><div align="center">Avairable hosts</div></td>
|bias5-node01~node20
    <td><div align="center">bias5-node01~node20</div></td>
|bias5-node01~node20
    <td><div align="center">bias5-node01~node20</div></td>
|bias5-node01~node20
  <td><div align="center">bias5-node01~node20</div></td>
|bias5-smp,<br>ldas-smp,<br>diaf-smp[1,2]
    <td><div align="center">bias5-smp</div></td>
|bias5-smp, ldas-smp
    <td><div align="center">bias5-smp</div></td>
|bias5-smp, ldas-smp
    <td><div align="center">bias5-smp</div></td>
|-
  </tr>
!|Max. execution time / job
  <tr>
|6hr
    <td><div align="center">Max. execution time / job</div></td>
|72hr
    <td><div align="center">6hr</div></td>
|no limit
    <td><div align="center">72hr</div></td>
|72hr
  <td><div align="center">no limit</div></td>
|no limit
  <td><div align="center">no limit</div></td>
|no limit
  <td><div align="center">no limit</div></td>
|no limit
    <td><div align="center">no limit</div></td>
|-
  </tr>
!|Max. memory usage / job
|96GB
|96GB
|96GB
|188GB
|500GB
|1TB
|3TB
|-
!|Max.num of running jobs / queue
|no limit
|no limit
|no limit
|no limit
|20
|6
|2
|-
!|Max. num of running cpus / queue
|580
|200
|20
|120
|256
|96
|72
|-
!|Max. num of running cpus / host
|colspan="4"|40
|colspan="3"|72
|-
!|Max.num of running cpus / user.server
|colspan="7"|480
|-
!|Max.num of running cpus / user.queue
|300
|150
|10
|80
|no limit
|no limit
|no limit
|-
!|Default num of CPUs
|1
|1
|1
|20
|1
|1
|1
|-
!|Default memory size
|3.5GB
|3.5GB
|3.5GB
|98GB
|250GB
|500GB
|1500GB
|}


  <tr>
*キューの稼働状況はこちらをご覧ください(要VPN) [http://bias5.nibb.ac.jp:8091/index2.html]
    <td><div align="center">Max. memory usage / job</div></td>
*マシンの利用状況はこちらをご覧ください(要VPN) [http://bias5.nibb.ac.jp:8091/index3.html]
    <td><div align="center">96GB</div></td>
    <td><div align="center">96GB</div></td>
    <td><div align="center">96GB</div></td>
    <td><div align="center">500GB</div></td>
    <td><div align="center">1TB</div></td>
    <td><div align="center">3TB</div></td>
  </tr>
  <tr>
    <td><div align="center">Max.num of running jobs / queue</div></td>
    <td><div align="center">no limit</div></td>
    <td><div align="center">no limit</div></td>
    <td><div align="center">no limit</div></td>
    <td><div align="center">12</div></td>
    <td><div align="center">6</div></td>
    <td><div align="center">2</div></td>
  </tr>
<tr>
    <td><div align="center">Max. num of running cpus / queue</div></td>
    <td><div align="center">580</div></td>
    <td><div align="center">200</div></td>
    <td><div align="center">20</div></td>
    <td><div align="center">48</div></td>
    <td><div align="center">48</div></td>
    <td><div align="center">36</div></td>
  </tr>
<tr>
    <td><div align="center">Max. num of running cpus / host</div></td>
    <td colspan=3><div align="center">40</div></td>
    <td colspan=3><div align="center">72</div></td>
  </tr>
<tr>
    <td><div align="center">Max.num of running jobs / user.server </div></td>
    <td align="center" colspan=6>480</td>
  </tr>
  <tr>
    <td><div align="center">Max.num of running jobs / user.queue </div></td>
    <td><div align="center">400</div></td>
    <td><div align="center">150</div></td>
    <td><div align="center">10</div></td>
    <td><div align="center">no limit</div></td>
    <td><div align="center">no limit</div></td>
    <td><div align="center">no limit</div></td>
  </tr> 
  <tr>
    <td><div align="center">Default num of CPUs</div></td>
    <td><div align="center">1</div></td>
    <td><div align="center">1</div></td>
    <td><div align="center">1</div></td>
    <td><div align="center">1</div></td>
    <td><div align="center">1</div></td>
    <td><div align="center">1</div></td>
  </tr>
  <tr>
    <td><div align="center">Default memory size</div></td>
    <td><div align="center">3GB</div></td>
    <td><div align="center">3GB</div></td>
    <td><div align="center">3GB</div></td>
    <td><div align="center">250GB</div></td>
    <td><div align="center">500GB</div></td>
    <td><div align="center">1500GB</div></td>
  </tr>
</table><br>
*キューの稼働状況はこちらをご覧ください[http://bioserv.nibb.ac.jp/job/index2.html]
*キューを指定しない場合、デフォルトでは「small」で実行されます。
*キューを指定しない場合、デフォルトでは「small」で実行されます。
*480個以上のジョブを投入すると481個目からは待ち状態になります。アレイジョブも同様
*480個以上のジョブを投入すると481個目からは待ち状態になります。アレイジョブも同様


<br>
== メモリ制限について ==
* small, medium, large, blast キューでは、メモリ利用量がメモリ確保量を超えるとジョブは下記のようなメッセージと共に強制的に終了されます。
 '''=>> PBS: job killed: mem 3977304kb exceeded limit 3686400kb'''
* デフォルトのメモリ確保量は3.5GB (blastキューは96GB)ですが、最大で96GB(blastキューは188GB)まで増やすことができます。
* ジョブスクリプト内でのメモリ確保量を指定するには、以下のように -l mem=##GB というオプションを使います。
<pre>#PBS -l mem=16GB</pre>
* bias5-node01 〜 20 の一台あたりのメモリ搭載量は188GB、nCPUは40です。ノード内で複数のジョブが実行される場合、確保されるリソースの総和がこれを超えることはできません。ジョブあたりで大きなメモリを確保すると、同じノードで実行できるジョブ数が少なくなるので注意してください。
* smp(s|m|l)キューはこのような制限がありませんが、慢性的に混み合っている状況にあります。smpキューが混み合っているがsmall/medium/blastキューが空いている場合で、かつメモリが188GB以下で収まりそうな場合は、blastキューの利用も検討ください(blastキューは用途をblastのみに限定するものではありません)。
== PBS実行例 ==
* BLAST実行ジョブ(シェルスクリプト)の例 (ファイル名:blast.job) (下記の「ジョブスクリプトオプション」も参考にしてください)
** 一つのスクリプトで複数ジョブを実行できる「[[並列計算の実行|アレイジョブ]]」の項目も参考にしてください


== 実行例 ==
  #!/bin/bash
BLAST実行ジョブ(シェルスクリプト)の例 (ファイル名:blast.job) (下記の「ジョブスクリプトオプション」も参考にしてください)
  #!/bin/sh
  #PBS -q small
  #PBS -q small
#PBS -v BLASTDB="/bio/db/blast/db"
#PBS -v BLASTMAT="/bio/db/blast/matrix"
  #PBS -l ncpus=4
  #PBS -l ncpus=4
  #PBS -J 1-10
  #PBS -l mem=8gb
   cd ${PBS_O_WORKDIR}
   cd ${PBS_O_WORKDIR}
   blastx -db nr -i -numthreads ${NCPUS} -query /home/xxx/sample.fa.${PBS_ARRAY_ID}  -o /home/xxx/sample.out.${PBS_ARRAY_ID}
   blastx -db swissprot -i -num_threads ${NCPUS} -query /home/xxx/sample.fa -o /home/xxx/sample.out
ジョブをSGEで実行(qsubコマンドにジョブファイルを渡す)
ジョブをPBSで実行(qsubコマンドにジョブファイルを渡す)
  $ qsub blast.job
  $ qsub blast.job
全ユーザのジョブの様子を見る
全ユーザのジョブの様子を見る
  $ qstat
  $ qstat
特定ユーザのジョブの様子を見る
特定ユーザのジョブの様子を見る
  $ qstat -u user_name
  $ qstat -u ''user_name''
3日前までに終了したジョブ番号 job_id のジョブ履歴を確認する
当日中に終了したジョブ番号 ''jobID'' のジョブ履歴を確認する
  $ tracejob -n3 job_id
  $ tracejob ''jobID''


== PBSコマンド早見表 ==
== PBSコマンド早見表 ==
投入後のジョブにコマンドを発行できるのは、ジョブを投入したユーザのみです。詳しいオプションはmanコマンドなどで確認してください。
投入後のジョブに対するコマンド(qdel, qmod 等)を発行できるのは、ジョブを投入したユーザのみです。
<table border="1">
{| class="wikitable" style="text-align:left;"
  <tr>
! style="text-align:center;"| コマンド
    <td><div align="center">コマンド</div></td>
! 説明
    <td><div align="center">説明</div></td>
|- style="color: blue;"  
  </tr>
|qsub ''file_name''
  <tr>
|ジョブを投入する
    <td><div align="center">'''qsub'''</div></td>
|-
    <td><div align="center">ジョブを投入する</div></td>
|qstat -Q
  </tr>
|全てのキューの状態を表示
  <tr>
|-
    <td><div align="center">'''qstat'''</div></td>
|qstat -Q ''queue_name''
    <td><div align="center">ジョブとキューの状態を表示する</div></td>
|指定したキューの状態を表示
  </tr>
|-
<tr>
|qstat -Qf ''queue_name''
    <td><div align="center">'''qstat -u''' ''"user_name"''</div></td>
| 指定したキューの設定と状態を表示
    <td><div align="center">指定ユーザのジョブとキューの状態を表示する(デフォルトは全員分表示)</div></td>
|-
  </tr>
|qstat
  <tr>
|全てのジョブを表示
    <td><div align="center">'''qdel''' ''job-ID''</div></td>
|-
    <td><div align="center">指定したIDのジョブを削除する</div></td>
|qstat -t
  </tr>
|全てのジョブを表示(アレイジョブを展開)
  <tr>
|-
    <td><div align="center">'''qhold''' ''job-ID''</div></td>
|qstat -u ''user_name''
    <td><div align="center">指定したIDのジョブ(待機中のみ)をホールドする</div></td>
|指定したユーザの全ジョブを表示
  </tr>
|-
<tr>
|qstat -i -u ''user_name''
    <td><div align="center">'''qrls''' ''job-ID''</div></td>
|指定したユーザの実行待ちジョブを表示
    <td><div align="center">ホールド状態のジョブをリリースする</div></td>
|-
  </tr>
|qstat -f ''jobID''
<tr>
|実行待ちになっている原因を表示(アレイジョブの場合は ''jobID[]'' と記述)
    <td><div align="center">'''qhost'''</div></td>
|-
    <td><div align="center">各ノードの状態を表示する</div></td>
|qstat -r
  </tr>
|実行中の全てのジョブを表示
<tr>
|-
    <td><div align="center">'''qmod -sj''' ''job-ID''</div></td>
|qstat -nr1
    <td><div align="center">実行中のジョブをサスペンドする</div></td>
|実行中の全てのジョブを実行ホストと共に1行で表示
  </tr>
|-
<tr>
|qstat -J
    <td><div align="center">'''qmod -usj''' ''job-ID''</div></td>
|アレイジョブを表示
    <td><div align="center">サスペンド中のジョブを再実行する</div></td>
|-
  </tr>
|qstat -J -t -nr1
<tr>
|実行中のアレイジョブを展開して詳細も表示
    <td><div align="center">'''qmod -cj''' ''job-ID''</div></td>
|-
    <td><div align="center">エラーになったジョブを再実行する</div></td>
|qstat -x
  </tr>
|24時間以内のジョブ実行履歴を確認
<tr>
|-
    <td><div align="center">'''tracejob''' ''-nDAY job-ID''</div></td>
|qdel ''jobID''
    <td><div align="center">DAY日間以内に終了したjob-IDの履歴を表示</div></td>
|指定したIDのジョブを削除
  </tr>
|-
</table><br>
|qdel -Wforce ''jobID''
|指定したIDのジョブを強制的に削除
|-
|qselect -u ''user_name''
|指定したユーザの全ジョブIDを表示
|-
|qselect -s Q -u ''user_name''
|指定したユーザの実行待ちジョブIDを表示
|-
|qhold ''jobID''
|指定したIDのジョブ(待機中のみ)をホールド
|-
|qrls ''jobID''
|ホールド状態のジョブをリリース
|-style="color: green;"  
|tracejob ''jobID''
|終了した''jobID''の履歴を表示(当日のみ)
|}
 
* 各コマンドの詳細な使い方は、<code>man</code> コマンドで見ることができます(例)
<pre>
man qsub
man qstat
man qdel
man tracejob</pre>


== ジョブスクリプトオプション早見表 ==
== ジョブスクリプトオプション早見表 ==
<table border="1">
{| class="wikitable"
  <tr>
!|オプション
    <td><div align="center">オプション</div></td>
!|説明
    <td><div align="center">説明</div></td>
!|指定なしのデフォルト動作
  </tr>
|-
  <tr>
|#PBS -q ''queue_name''
    <td><div align="center">'''#PBS -o''' ''filename''</div></td>
|キューを指定
    <td><div>標準出力の結果を指定したファイルに保存(指定しないとホームディレクトリにファイルが作られる)</div></td>
|smallキューに投入される
  </tr>
|-
  <tr>
|#PBS -N ''job_name''
    <td><div align="center">'''#PBS -e''' ''filename''</div></td>
|ジョブに名前をつけて実行
    <td><div>標準エラー出力の結果を指定したファイルに保存(指定しないとホームディレクトリにファイルが作られる)</div></td>
|ジョブファイル名が使われる
  </tr>
|-
<tr>
|#PBS -o ''file_name''
    <td><div align="center">'''#PBS -q''' ''queue_name''</div></td>
|標準出力の結果を指定したファイルに保存
    <td><div>キューを指定してジョブを実行</div></td>
|''job_name'''''.o'''''jobID''
  </tr>
|-
  <tr>
|#PBS -e ''file_name''
    <td><div align="center">'''#PBS -cwd'''</div></td>
|標準エラー出力の結果を指定したファイルに保存
    <td><div>qsubした時のディレクトリに移動してジョブを実行</div></td>
|''job_name'''''.e'''''jobID''
  </tr>
|-
  <tr>
|#PBS -j [oe, eo]
    <td><div align="center">'''#PBS -V'''</div></td>
|ジョブの標準出力ファイルと標準エラー出力ファイルを結合する<br>
oe : 標準出力ファイルに結合<br>
eo : 標準エラー出力ファイルに結合
    <td><div>現在の環境を引き継ぐ</div></td>
|
  </tr>
|-
  <tr>
|#PBS -l ''resource_list''
    <td><div align="center">'''#PBS -v''' ''環境変数名=環境変数''</div></td>
|使用する CPU数、メモリ、実行サーバ等、リソースを指定
    <td><div>環境変数をジョブに渡す。書き方例:JAVA_HOME="/home/xxxxx/jdk-1.8.1"<br>ここで元の環境変数を参照することはできない。つまり PATH=/home/xxxxx/bin:$PATH 等と書いても「$PATH」は無視される</div></td>
|キューのデフォルト値
  </tr>
|-
<tr>
|#PBS -v ''variable_list''
    <td><div align="center">'''#PBS -N''' ''job_name''</div></td>
|環境変数等の設定をジョブに持たせる<br>例) –v var1=10, "var2='A,B'"
    <td><div>ジョブ名を指定する</div></td>
|-
  </tr>
|#PBS -V
<tr>
|ログイン環境の環境変数を全て引き継ぐ
    <td><div align="center">'''#PBS -s''' ''shell_name''</div></td>
|
    <td><div>ジョブスクリプトを指定したシェルで実行</div></td>
|-
  </tr>
|#PBS -J ''X-Y[:Z]''
<tr>
|ジョブアレイ範囲指定 ([[並列計算の実行#.E3.82.A2.E3.83.AC.E3.82.A4.E3.82.B8.E3.83.A7.E3.83.96|アレイジョブ]]の実行時に使用)
    <td><div align="center">'''#PBS -a''' ''MMDDhhmm''</div></td>
|
    <td><div>ジョブの開始日時を指定</div></td>
|-
  </tr>
|#PBS -S ''shell_name''
<tr>
|ジョブスクリプトのシェルを指定
    <td><div align="center">'''#PBS -l''' ''resource_name 値''</div></td>
|ログインシェル
    <td><div>ジョブが使うリソース量を指定する </div></td>
|-
  </tr>
|#PBS -a ''MMDDhhmm''
<tr>
|ジョブの開始日時を指定
    <td><div align="center">'''#PBS -J''' ''開始番号-終了番号''</div></td>
|リソースがあれば即実行
    <td><div>アレイジョブを実行 [[並列計算の実行#.E3.82.A2.E3.83.AC.E3.82.A4.E3.82.B8.E3.83.A7.E3.83.96]]</div></td>
|}
  </tr>
 
</table><br>
{| class="wikitable"
|+リソース指定の仕方
!|オプション
!|説明
|-
|#PBS -l ''mem=8G''
|メモリを8GBまで使う
|-
|#PBS -l ''ncpus=8''
|CPU 8スレッドを使う、この値は特別な変数 ${NCPUS} に自動で格納される
|-
|#PBS -l ''select=1:ncpus=10
|1ノードを用いて10スレッド使う
|}

2023年11月10日 (金) 00:45時点における最新版

ジョブ管理システム

  • 残念なお知らせですが、cat キューは終了となりました

利用可能なキュー

キュー一覧
分散並列処理型 : parallel distributed processing 共有メモリ型 : shared memory
queue small (default) medium large blast smps smpm smpl
ジョブの特徴 短時間・並列多 中規模 長時間 BLAST nr/nt only 中メモリ 大メモリ 最大メモリ
Avairable hosts bias5-node01~node20 bias5-node01~node20 bias5-node01~node20 bias5-node01~node20 bias5-smp,
ldas-smp,
diaf-smp[1,2]
bias5-smp, ldas-smp bias5-smp, ldas-smp
Max. execution time / job 6hr 72hr no limit 72hr no limit no limit no limit
Max. memory usage / job 96GB 96GB 96GB 188GB 500GB 1TB 3TB
Max.num of running jobs / queue no limit no limit no limit no limit 20 6 2
Max. num of running cpus / queue 580 200 20 120 256 96 72
Max. num of running cpus / host 40 72
Max.num of running cpus / user.server 480
Max.num of running cpus / user.queue 300 150 10 80 no limit no limit no limit
Default num of CPUs 1 1 1 20 1 1 1
Default memory size 3.5GB 3.5GB 3.5GB 98GB 250GB 500GB 1500GB
  • キューの稼働状況はこちらをご覧ください(要VPN) [1]
  • マシンの利用状況はこちらをご覧ください(要VPN) [2]
  • キューを指定しない場合、デフォルトでは「small」で実行されます。
  • 480個以上のジョブを投入すると481個目からは待ち状態になります。アレイジョブも同様

メモリ制限について

  • small, medium, large, blast キューでは、メモリ利用量がメモリ確保量を超えるとジョブは下記のようなメッセージと共に強制的に終了されます。

 =>> PBS: job killed: mem 3977304kb exceeded limit 3686400kb

  • デフォルトのメモリ確保量は3.5GB (blastキューは96GB)ですが、最大で96GB(blastキューは188GB)まで増やすことができます。
  • ジョブスクリプト内でのメモリ確保量を指定するには、以下のように -l mem=##GB というオプションを使います。
#PBS -l mem=16GB
  • bias5-node01 〜 20 の一台あたりのメモリ搭載量は188GB、nCPUは40です。ノード内で複数のジョブが実行される場合、確保されるリソースの総和がこれを超えることはできません。ジョブあたりで大きなメモリを確保すると、同じノードで実行できるジョブ数が少なくなるので注意してください。
  • smp(s|m|l)キューはこのような制限がありませんが、慢性的に混み合っている状況にあります。smpキューが混み合っているがsmall/medium/blastキューが空いている場合で、かつメモリが188GB以下で収まりそうな場合は、blastキューの利用も検討ください(blastキューは用途をblastのみに限定するものではありません)。

PBS実行例

  • BLAST実行ジョブ(シェルスクリプト)の例 (ファイル名:blast.job) (下記の「ジョブスクリプトオプション」も参考にしてください)
    • 一つのスクリプトで複数ジョブを実行できる「アレイジョブ」の項目も参考にしてください
#!/bin/bash
#PBS -q small
#PBS -l ncpus=4
#PBS -l mem=8gb
 cd ${PBS_O_WORKDIR}
 blastx -db swissprot -i -num_threads ${NCPUS} -query /home/xxx/sample.fa -o /home/xxx/sample.out

ジョブをPBSで実行(qsubコマンドにジョブファイルを渡す)

$ qsub blast.job

全ユーザのジョブの様子を見る

$ qstat

特定ユーザのジョブの様子を見る

$ qstat -u user_name

当日中に終了したジョブ番号 jobID のジョブ履歴を確認する

$ tracejob jobID

PBSコマンド早見表

投入後のジョブに対するコマンド(qdel, qmod 等)を発行できるのは、ジョブを投入したユーザのみです。

コマンド 説明
qsub file_name ジョブを投入する
qstat -Q 全てのキューの状態を表示
qstat -Q queue_name 指定したキューの状態を表示
qstat -Qf queue_name 指定したキューの設定と状態を表示
qstat 全てのジョブを表示
qstat -t 全てのジョブを表示(アレイジョブを展開)
qstat -u user_name 指定したユーザの全ジョブを表示
qstat -i -u user_name 指定したユーザの実行待ちジョブを表示
qstat -f jobID 実行待ちになっている原因を表示(アレイジョブの場合は jobID[] と記述)
qstat -r 実行中の全てのジョブを表示
qstat -nr1 実行中の全てのジョブを実行ホストと共に1行で表示
qstat -J アレイジョブを表示
qstat -J -t -nr1 実行中のアレイジョブを展開して詳細も表示
qstat -x 24時間以内のジョブ実行履歴を確認
qdel jobID 指定したIDのジョブを削除
qdel -Wforce jobID 指定したIDのジョブを強制的に削除
qselect -u user_name 指定したユーザの全ジョブIDを表示
qselect -s Q -u user_name 指定したユーザの実行待ちジョブIDを表示
qhold jobID 指定したIDのジョブ(待機中のみ)をホールド
qrls jobID ホールド状態のジョブをリリース
tracejob jobID 終了したjobIDの履歴を表示(当日のみ)
  • 各コマンドの詳細な使い方は、man コマンドで見ることができます(例)
man qsub
man qstat
man qdel
man tracejob

ジョブスクリプトオプション早見表

オプション 説明 指定なしのデフォルト動作
#PBS -q queue_name キューを指定 smallキューに投入される
#PBS -N job_name ジョブに名前をつけて実行 ジョブファイル名が使われる
#PBS -o file_name 標準出力の結果を指定したファイルに保存 job_name.ojobID
#PBS -e file_name 標準エラー出力の結果を指定したファイルに保存 job_name.ejobID
#PBS -j [oe, eo] ジョブの標準出力ファイルと標準エラー出力ファイルを結合する

oe : 標準出力ファイルに結合

eo : 標準エラー出力ファイルに結合
#PBS -l resource_list 使用する CPU数、メモリ、実行サーバ等、リソースを指定 キューのデフォルト値
#PBS -v variable_list 環境変数等の設定をジョブに持たせる
例) –v var1=10, "var2='A,B'"
#PBS -V ログイン環境の環境変数を全て引き継ぐ
#PBS -J X-Y[:Z] ジョブアレイ範囲指定 (アレイジョブの実行時に使用)
#PBS -S shell_name ジョブスクリプトのシェルを指定 ログインシェル
#PBS -a MMDDhhmm ジョブの開始日時を指定 リソースがあれば即実行
リソース指定の仕方
オプション 説明
#PBS -l mem=8G メモリを8GBまで使う
#PBS -l ncpus=8 CPU 8スレッドを使う、この値は特別な変数 ${NCPUS} に自動で格納される
#PBS -l select=1:ncpus=10 1ノードを用いて10スレッド使う