保留中のジョブが実行可能な状態であることが明らかであるにもかかわらず、振り分けられない場合があります。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
このコマンドは、基本的にジョブが割り振られない理由を一覧表示します。この目的のため、ドライスケジューリングが実行されます。スロットを含めて消費可能なすべてのリソースが、そのジョブ用に完全に利用可能であるとみなされます。同様に、負荷値も変化するため、すべての負荷値は無視されます。