Grid Engine システムには、問題の診断に役立ついくつかの報告手段が用意されています。次の節では、それらの使用方法を簡単に説明します。
保留中のジョブが実行可能な状態であることが明らかであるにもかかわらず、振り分けられない場合があります。Grid Engine システムには、その理由を診断するために、qstat -j job-id と qalter-w v job-id のユーティリティーとオプションのペアがあります。
qstat -j job-id
有効である場合は、qstat -j job-id は最後にスケジューリングが行われたときに特定のジョブが割り振られなかった理由のリストを示します。この監視は、有効または無効にすることができます。この監視機能は、schedd デーモンと qmaster との間の通信で望ましくないオーバーヘッドを引き起こす可能性があるため、無効にすることをお勧めします。sched_conf (5) のマニュアルページの schedd_job_info を参照してください。ID が 242059 のジョブに関する出力例を次に示します。
% qstat -j 242059 scheduling info: queue "fangorn.q" dropped because it is temporarily not available queue "lolek.q" dropped because it is temporarily not available queue "balrog.q" dropped because it is temporarily not available queue "saruman.q" dropped because it is full cannot run in queue "bilbur.q" because it is not contained in its hard queuelist (-q) cannot run in queue "dwain.q" because it is not contained in its hard queue list (-q) has no permission for host "ori" |
この情報は、schedd デーモンによって直接生成されます。この情報の生成では、クラスタの現在の使用率が考慮されます。この情報には、必要な情報が含まれないことがあります。たとえば、ほかのユーザーのジョブによってすべてのキュースロットがすでに占有されている場合、問題のジョブに関する詳細なメッセージは生成されません。
qalter -w v job-id
このコマンドは、基本的にジョブが割り振られない理由を一覧表示します。この目的のため、ドライスケジューリングが実行されます。スロットを含めて消費可能なすべてのリソースが、そのジョブ用に完全に利用可能であるとみなされます。同様に、負荷値も変化するため、すべての負荷値は無視されます。
ジョブまたはキューのエラーが、qstat 出力で、大文字の E で示されます。
ジョブがエラー状態になるのは、Grid Engine システムがジョブを実行しようとして、そのジョブに固有の理由で実行に失敗した場合です。
キューがエラー状態になるのは、Grid Engine システムがジョブを実行しようとして、そのキューに固有の理由で実行が失敗した場合です。
Grid Engine システムには、ジョブ実行エラーが発生した場合に、ユーザーおよび管理者がその診断情報を収集するための一連の機能が用意されています。キューおよびジョブのエラーの状態のどちらも、原因はジョブの実行失敗にあります。そのため、診断の機能は両方の種類のエラー状態に適用できます。
ユーザー宛て中止メール。qsub -m a コマンドを使用してジョブが発行された場合は、-M user[@host] オプションで指定されたアドレスに中止メールが送信されます。中止メールには、ジョブエラーに関する診断情報が含まれています。中止メールを情報源として使用することをお勧めします。
qacct アカウンティング。中止メールが得られない場合は、qacct -j コマンドを実行できます。このコマンドによって、Grid Engine システムのジョブアカウンティング機能からジョブのエラーに関する情報を入手できます。
管理者宛て中止メール。 管理者は、適切な電子メールアドレスを指定することによって、ジョブ実行時の問題に関する管理者宛てメールを送信するよう指示できます。sge_conf(5) のマニュアルページの administrator_mail を参照してください。管理者宛てのメールには、ユーザー宛ての中止メールよりも詳しい診断情報が含まれています。ジョブ実行エラーが頻繁に発生する場合に、管理者宛てメールを利用することをお勧めします。
Message ファイル。 管理者宛てメールが得られない場合は、qmaster の messages ファイルをまず調べてください。適切なジョブ ID を検索することによって、特定のジョブに関するエントリを見つけることができます。デフォルトのインストールでは、qmaster messages ファイルは sge-root/ cell/spool/qmaster/messages に保存されています。
ジョブの起動元の execd デーモンのメッセージに、補足情報が含まれていることもあります。qacct -j job-id を使用して、ジョブの起動元のホストを確認し、sge-root /cell/spool/host/messages でジョブ ID を検索してください。