ジョブステータスが「Eqw」となり実行されない。

システムの障害の可能性もありますがジョブスクリプトのミスによることがあります。以下の点をご確認ください。

ジョブの詳細状況は以下のコマンドで確認ができます。

$ qstat -j  ジョブID | grep error

確認後、「Eqw」ステータスのジョブは qdel で削除してください。
原因の切り分けと修正を行いジョブを再投入してください。

エラーの場合の例を以下にあげます。
ファイルパーミッションがない場合のエラー例

error reason    1:          エラー発生時間 [5226:17074]: error: can't open stdout output file "原因のファイル": Permission denied

改行コードの問題やディレクトリが存在しないおよびジョブスクリプトが不正な場合のエラー例

error reason    1:          エラー発生時間 [5378:990988]: execvp(/var/spool/uge/ホスト名/job_scripts/ジョブID, "/var/spool/uge/ホスト名/job_scripts/ジョブID") failed: No such file or directory

1. ジョブスクリプトの改行コードがUNIX形式(LF)でない
改行コードがwindowsのCR+LFに設定されている場合も発生いたしますので、実際のスクリプトで合わせてご確認ください。
以下のコマンドで確認ができます。

$ file スクリプトファイル名

#CR+LFの場合の出力

スクリプトファイル名: ASCII text, with CRLF line terminators

#LFの場合の出力

スクリプトファイル名: ASCII text

catコマンドでも確認ができます

$ cat -e スクリプトファイル名

#CR+LFの場合の出力
行末が^M$と表示されます。

#!/bin/bash^M$
#$ -cwd^M$
#$ -l f_node=1^M$
#$ -l h_rt=0:10:00^M$
./etc/profile.d/modules.sh^M$
module load intel^M$

#LFの場合の出力
行末が$と表示されます。

#!/bin/bash$
#$ -cwd$
#$ -l f_node=1$
#$ -l h_rt=0:10:00$
./etc/profile.d/modules.sh$
module load intel$


改行コードの対策としては、以下があります。

  • Windowsでスクリプトを編集しない
  • Windowsでスクリプトを編集する場合は改行コードに対応したエディタを利用し、改行コードを必ず確認する
  • nkfで実行前に改行コードをLFに修正する
    • LF以外であった際は下記のコマンドで修正ください。

$ nkf -Lu file1.sh > file2.sh

※file1.shは変換したいスクリプトファイル、file2.shは変換後のスクリプト出力先ファイルです。file2.shはfile1.shとは異なるファイル名でなければなりません。同一ファイル名を指定するとファイルが破損しますのでご注意ください。

2. 実行するディレクトリなどが存在しない

ジョブスクリプトで記述されている実行ディレクトリが存在しない場合に発生します。以下のコマンドで確認ください。
確認後、スクリプトを適切に修正下さい。

$ qstat -j  ジョブID | grep ^error

error reason    1:          09/13/2017 12:00:00 [2222:19999]: error: can't chdir to /gs/hs0/test-g/user00/no-dir: No such file or directory

3. バックグラウンドジョブ("&"付き)でジョブスクリプトが記載されている

以下の様にバックグラウンドジョブ("&"付き)で記載し投入された場合、実行されません。

例)

#!/bash/sh
#$ -cwd
#$ -l f_node=1
#$ -l h_rt=1:00:00
#$ -N test

./etc/profile.d/modules.sh

module load intel

./a.out &

4. ファイルパーミッションが無い
プログラムが利用するファイルに適切なパーミッションを設定下さい。

例) 自分にreadと実行権限を付与

$ chmod u+rx スクリプトファイル名


5. ディスククォータ

グループディスクのクォータをご確認下さい。
1TBあたりの保存可能ファイル数 (iノード数) の上限は 2,000,000です。

確認方法は下記FAQを参照下さい。

グループディスクの利用状況をコマンドで確認したい