保留中のジョブが実行可能な状態であることが明らかであるにもかかわらず、振り分けられないことがあります。Grid Engine システムには、その理由を調べる手段として qstat -j job-id と qalter-w v job-id のユーティリティーとオプションのペアがあります。
qstat -j job-id
有効である場合、qstat -j job-id は、最後のスケジューリング実行で特定のジョブが振り分けられなかった理由のリストを提供します。この監視機能は、有効または無効にすることができます。この監視機能は、sge_schedd デーモンと sge_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" |
この情報は、sge_schedd デーモンによって直接生成されます。この情報の生成には、クラスタの現在の使用量が考慮されます。この情報には、必要な情報が含まれないことがあります。たとえば、ほかのユーザーのジョブによってすべてのキュースロットがすでに占有されている場合、問題のジョブに関する詳細なメッセージは生成されません。
qalter -w v job-id
このコマンドは、基本的にジョブが振り分けられない理由を一覧表示します。この目的のため、ドライスケジューリングが実行されます。スロットを含めて消費可能なすべてのリソースが、そのジョブ用に完全に利用可能であるとみなされます。負荷値は変化するため、すべての負荷値は無視されます。