16.4 エージェントのパイプ通信タイムアウト値の変更
ジョブ実行制御のエージェントプロセス間通信でパイプ通信のタイムアウトエラーが発生することがあります。その原因として,次のことが考えられます。
- 大量のジョブが一時期に集中して実行された。
- CPUに高い負荷が掛かり,300秒以上の間CPUが割り当てられなかった。
- 実メモリーが不足することでジョブ実行制御のエージェントプロセスが300秒以上の間スワップアウトされ,実行されなかった。
これらの発生条件が解消されずにパイプ通信のタイムアウトエラーが頻繁に発生するような場合は,エージェントプロセスが実行されるホスト上のパイプ通信タイムアウト時間を長めに変更して運用されることをお勧めします。なお,デフォルトは「300秒間」に設定されています。
エージェントのパイプ通信タイムアウト値の設定手順を次に示します。
- <この節の構成>
- (1) 定義手順
- (2) 定義パラメーター一覧
- (3) 定義内容
(1) 定義手順
- JP1/AJS2のサービスを停止する。
次のコマンドを実行して,プロセスがすべて停止していることを確認します。
# /etc/opt/jp1ajs2/jajs_stop※
# /opt/jp1ajs2/bin/jajs_spmd_status
- 注※
- 自動停止の設定が行われていることを確認してください。
- viなどのエディターで,「(2) 定義パラメーター一覧」の定義パラメーターを記述した設定ファイルを作成する。
設定ファイルのファイル名は任意です。
- ファイルを保存し,次のコマンドを実行する。
jbssetcnf 設定ファイル名
jbssetcnfコマンドのパスは,「/opt/jp1base/bin/jbssetcnf」です。
jbssetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
- JP1/AJS2を再起動する。
設定ファイルに記述した内容が反映されます。
(2) 定義パラメーター一覧
表16-4 エージェントのパイプ通信タイムアウト値の変更定義パラメーター一覧
定義キー | 環境設定パラメーター | 定義内容 |
---|
[{JP1_DEFAULT|論理ホスト名}¥JP1NBQAGENT¥Job]※ | "PipeComTimeout"= | エージェントのパイプ通信タイムアウト値の定義 |
- 注※
- {JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。
(3) 定義内容
- " PipeComTimeout "=dword:設定値
- パイプ通信タイムアウト時間(単位:秒)を16進数で指定します。
- 0x0000012C~0x7FFFFFFF(10進数で300~2,147,483,647)の間で指定します。
- デフォルトは「dword:0000012C」(10進数で300)です。
- 注意
- パイプ通信タイムアウト時間に長い時間を設定すると,ジョブの障害検知が遅くなることがあるため注意してください。
- また,パイプ通信タイムアウト時間には,最小値として1秒から設定できますが,300秒未満を設定するとパイプ通信のタイムアウトエラーが発生しやすくなり,ジョブが起動失敗になるため指定できる範囲を300秒からとしました。ただし,すでに300秒未満の値を設定して運用している場合はエラーにはならないため,そのまま継続して使用できます。