この章では、さまざまな警告と N1 Grid Engine デーモンのログを使用してグリッドのトラブルシューティングを行う方法について説明します。
「Grid Engine デーモンのログ」ページでは、N1 Grid Engine のさまざまな デーモンによって記録されたすべてのメッセージのログの履歴を表示できます。特定のホストのログファイルを表示するには、そのホスト名をクリックします。キューのホストシステムのログファイルを表示するには、「QMASTER」列にある名前をクリックします。
特定のホストのログファイルには、フラグ、タイムスタンプ、およびメッセージのフィールドがあります。フラグは、記録されたメッセージの種類を示します。次のメッセージの種類があります。
N (通知) – 情報メッセージ
I (情報) – 情報メッセージ
W (警告)
E (エラー) – エラーの検出
C (重大) – プログラムの異常終了の可能性あり
クラスタ構成で loglevel パラメータを使用して、グローバルまたはローカルにどのメッセージの種類を記録するかを指定します。
「キューのアラート」ページの情報を使用してキューの問題のトラブルシューティングを行うことができます。このページは、「概要」ページの「アラート」表からアクセスできます。キューのアラートは、queue_conf コマンドを使用して定義したキューリソース制限パラメータを超えたときに生成されます。
キューのアラートには、次の 3 種類があります。
警告 – リソース制限を超えたときに、キューが無効になる前に警告が生成されます。
エラー – キューが無効な要求を行ったときにエラーが生成されます。
無効 – 設定した数の警告を受け取ったあと、キュー構成パラメータ notify で定義した通知時間を経過するとキューが異常終了します。
キューの状態は、次のとおりです。
a (アラーム) – キュー構成の load_thresholds 一覧で定義した負荷しきい値の 1 つ以上を超えています。この状態では、N1GE でこのキューに対してこれ以上ジョブのスケジュールは設定されません。詳細は、queue_conf のマニュアルページを参照してください。
A (アラーム) – キューの一時停止しきい値の 1 つ以上を超えています。この状態では、しきい値違反がなくなるまで、キュー内で実行中のジョブが順番に一時停止されます。詳細は、queue_conf のマニュアルページを参照してください。
c (構成があいまい) – sge_conf を使用して指定したキューインスタンスの構成があいまいです。この状態は、構成のあいまいさを取り除くと解決します。親のない状態では、このキューインスタンスに対してこれ以上ジョブのスケジュールは設定されません。キューインスタンスがこの状態になった詳しい理由は、sge_qmaster メッセージファイルで確認できます。また、-explain を指定して qstat コマンドを実行することで理由を確認することもできます。この状態のキューインスタンスについては、あいまいな属性にクラスタキューのデフォルト設定が使用されます。
C (カレンダ一時停止) – N1GE のカレンダ機能によってキューが自動的に無効にされたか、または一時停止されました。詳細は、calendar_conf のマニュアルページを参照してください。
d (無効) – この設定は、qmod コマンドを使用してキューに割り当ておよび解除を行います。キューを一時停止すると、そのキュー内で実行中のジョブがすべて一時停止されます。
D (無効) – N1GE のカレンダ機能によってキューが自動的に無効にされたか、または一時停止されました。詳細は、calendar_conf のマニュアルページを参照してください。
E (エラー) – この設定は、そのホストの N1GE デーモン (sge_execd) が、ジョブを開始するためにそのホストで sge_shepherd 実行可能ファイルを見つけられなかったときに表示されます。このデーモンのエラーログで、問題の解決方法を確認してください。そのあと、-c オプションを指定した qmod コマンドを使用してキューを有効にします。
o (親なし) – 現在のクラスタキューの構成とホストグループの構成に、このキューインスタンスは不要になりました。終了していないジョブがまだ関連付けられているため、このキューインスタンスは残されています。親のない状態では、このキューインスタンスに対してこれ以上ジョブのスケジュールは設定されません。これらのジョブが終了すると、qstat の出力に表示されなくなります。ジョブに関連付けられている親のないキューインスタンスを解決するには、qdel コマンドを使用します。親のないキューインスタンスを回復させるには、クラスタキュー構成にそのキューインスタンスが含まれるように構成を変更します。
s (一時停止) – qmod コマンドを使用してキューに割り当て、および解除を行います。キューを一時停止すると、そのキュー内で実行中のジョブがすべて一時停止されます。
S (従属) – キューは、別のキューへの従属が原因で一時停止されました。詳細は、queue_conf を参照してください。キューを一時停止すると、その理由に関係なく、そのキュー内で実行中のジョブもすべて一時停止されます。
u (不明) – 対応する sge_execd(8) にアクセスできません。
ホストの問題は、「ホストのアラート」ページで確認できます。このページは、「概要」ページの「アラート」表から表示できます。
次のホストアラートパラメータが指定したしきい値を超えるとアラートが生成され、「概要」の「アラート」表に表示されます。
CPU ごとの負荷 – ホストの CPU の使用効率を示します。このパラメータは任意の正の 10 進数ですが、通常はゼロから 2 または 3 の間です。この値は 1 に近い数字であるべきです。1 より小さい値はホストが活用されていないことを示し、1 より大きい値はホストが過度に使用されていることを示します。理想の値は、実行されている作業負荷によって異なります。作業負荷の意味を本当に理解できるのはローカルの管理者だけです。
使用メモリー容量– メモリーの合計容量に対する、ジョブの実行に現在使用されているメモリーの割合 (%) です。メモリーの使用容量が合計容量に近すぎる場合、ホストは危険な状態である可能性があります。ただし、サーバーに合わせて作業負荷を調整すれば、メモリーの使用容量がメモリーの合計容量に近くてもかまいません。これは実際に調整可能です。この 2 つのパラメータの差が特定の値になるとアラームが発生するように設定できます。したがって、たとえば、差が 100M バイト未満になると警告が発生するようにしたり、25M バイト未満になると警告が発生するようにしたりできます。
総メモリー容量– このホストのメモリーの合計容量です。
スワップ使用量 – このホストで残っている空きスワップ空間 (M バイト単位) です。優れたアーキテクチャーのグリッドでは、空きスワップ空間が初期値から大幅に下がることはありません。グリッドのアーキテクチャーによっては、この値の一時的な減少は許容できます。この値がゼロに近くなった場合は、ホストは完全に機能しなくなる可能性があります。
日付/時刻 – アラート生成時点のタイムスタンプです。
ジョブの問題は、「ジョブのアラート」ページで確認できます。このページは、「概要」ページの「アラート」表から表示できます。「保留時間」と「期限」の各ジョブのアラートパラメータが指定したしきい値を超えるとアラートが生成され、「概要」の「アラート」表に表示されます。
「ジョブのアラート」ページには、次の情報が表示されます。
ジョブ ID – ジョブの一意の識別子です。ジョブ ID をクリックすると、「ジョブの詳細」ページが表示されます。
タスク – 現在実行中のタスクです。一部のジョブは、単一のタスクで構成されます。この場合、タスク ID は常に 1 です。並列ジョブや配列ジョブはそれぞれ複数のタスクで構成されます。タスクは通常、1 から昇順で番号が付けられます。ジョブの送信方法によっては、1、3、5、のように番号がとばされる場合もあります。ジョブの実行時には、各タスクは別々に実行されるため、別個の構成情報、環境、およびトレースがあります。タスクの詳細情報を表示するには、タスク番号をクリックして「Task Details」ページを表示します。
ジョブ名 – このジョブに割り当てられている名前です。
保留時間 – ジョブがキューへの割り当てを待っている時間です。
期限 – この時間までにジョブが開始しなければアラームが生成されます。
アラームとしきい値については、qstat のマニュアルページを参照してください。