遺伝研スパコンのジョブの終了状態を確認する

 遺伝研スパコン(遺伝研スーパーコンピュータシステム)では、Grid Engine (SGE系)を採用している。この記事を読んでいる人(利用者)であれば、まず最初にqloginしろ、とか、ジョブを実行するときはスクリプトファイルをqsubしろ、とかを講習会などで最初に習うはずである。

 無事終了する場合は殆ど問題とはならないが、メモリの制約や時間超過、プログラムのエラーなどによってジョブがキルされることがある。そうしたとき、原因究明をする上で役立つのが今回紹介する qreport コマンドと、qacct コマンドだ。

終了したジョブの状態を見る

 まずは異常に終了してしまったジョブを見てみよう。ジョブを投げるとそのジョブ固有のID(数字)が発行される。それは qstat コマンドで確認できる他、その実行ディレクトリに自動生成される*.o[ID], *.e[ID] といったアウトプットファイルの番号で確認できる(これはシェルスクリプトの最初の指定によって変わる場合があるので要確認)。

 では、実際にコマンド例。IDが123456である場合。

$ qreport -j 123456
==============================================================
owner                kim
jobnumber            123456
taskid               undefined
slots                10
pe_taskid            NONE
granted_pe           def_slot
exit_status          0
failed               0
qname                medium.q
hostname             m05
jobname              TestJOB
qsub_time            20230605-10:28:48
start_time           20230617-00:37:22
end_time             20230730-10:07:07
ru_wallclock         3749384.903
cpu                  14500272.9
mem                  1531050326.5
maxvmem              778.2G
r_mem                38.000G
r_q                  NONE
r_cpu                NONE

 といった具合に結果が表示される。正常に終了したかどうかの判断は基本的には exit_status を確認する。どこにもその対照表などはないが、一般的にこれが0であれば正常に終了している。

 例えば、maxvmemが指定していたr_memよりも高い場合、ジョブが強制キルされるので、r_memを増やすことで対策が取れる。

 もしさらに詳細な情報が欲しい場合、以下のコマンドを実行すれば良い。

$ qacct -j 123456
==============================================================
qname        medium.q
hostname     m05
group        hogehoge
owner        kim
project      NONE
department   defaultdepartment
jobname      TestJOB
jobnumber    123456
taskid       undefined
pe_taskid    NONE
account      sge
priority     0
cwd          /home/kim/hoge
submit_host  gw1
submit_cmd   qsub TEST_230417.sh
qsub_time    06/05/2023 10:28:48.805
start_time   06/17/2023 00:37:22.459
end_time     07/30/2023 10:07:07.362
granted_pe   def_slot
slots        10
failed       0
deleted_by   NONE
exit_status  0
ru_wallclock 3749384.903
ru_utime     11333275.093
ru_stime     3166997.810
ru_maxrss    806530672
ru_ixrss     0
ru_ismrss    0
ru_idrss     0
ru_isrss     0
ru_minflt    1128299329585
ru_majflt    32879247
ru_nswap     0
ru_inblock   740237704
ru_oublock   3716298384
ru_msgsnd    0
ru_msgrcv    0
ru_nsignals  0
ru_nvcsw     2798304198
ru_nivcsw    491094527
wallclock    3749385.108
cpu          14500272.904
mem          1531050326.489
io           190210.832
iow          185467.050
ioops        26969911634
maxvmem      778.224G
maxrss       0.000
maxpss       0.000
arid         undefined
jc_name      NONE
bound_cores  NONE

といった具合に。

参考: https://sc.ddbj.nig.ac.jp/software/grid_engine/other_commands/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です