11.1.5 サーバ間排他/共用制御機能による実行待ち状態の確認方法
- 〈この項の構成〉
(1) ファイルまたはディレクトリがロック待ちとなり,ジョブが実行待ち状態の場合
各サーバから起動した複数のジョブが,DD要素で指定したファイルおよびディレクトリの割り当て要求を行い,「表11-1 サーバ間排他/共用制御機能の使用有無による,ジョブ実行制御の違い」で示す項番2,3,4の状態となった場合,次に示すKAKC1670-Wメッセージが出力される。
-
stderrおよびJOBLOGに出力されるメッセージ
KAKC1670-W Waiting for locking a cross-system file.
-
JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ
KAKC1670-W ロック確保待ちが発生しました
また,ロック確保待ちが発生し,ロック確保待ちが解除された場合,次に示すKAKC1671-Iメッセージを出力する。
-
stderrおよびJOBLOGに出力されるメッセージ
KAKC1671-I Quit waiting for locking a cross-system file.
-
JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ
KAKC1671-I ロック待ちは解除されました
ロック確保待ちが長時間解除されない,またはロック確保待ちが多発する場合,ロックの競合を起こしているジョブおよびロックの情報を表示させることができる。
ロック確保状態ジョブとロック確保待ちジョブを表示するコマンドの指定例,および表示例を次に示す。
-
コマンドの指定例
$ bjexeelslock
-
コマンドの表示例:全サーバのロック確保状態ジョブとロック確保待ちジョブを表示する
********************************************************************************* * LOCK MANAGER (HOST1) ********************************************************************************* HOSTNAME JOBID STATUS ELAPSED PID JP1JobID JOBNAME -------------------- ------ ------ -------- ---------- ---------- ------------------------------- HOST1 000011 LOCK 00:00:02 53385 JOB0001 HOST2 000002 WAIT 00:00:05 53386 JOB0002
上記で表示されたジョブ(JOB0001およびJOB0002)の資源確保状態を表示させる場合の表示コマンドの指定例,および表示例を次に示す。
-
コマンドの指定例
$ bjexeelslock -j 2
-
コマンドの表示例:JOB0002の資源確保状態とロック解放待ちの資源を表示する
********************************************************************************* * LOCK MANAGER (HOST1) ********************************************************************************* HOSTNAME JOBID STATUS ELAPSED PID JP1JobID JOBNAME -------------------- ------ ------ -------- ---------- ---------- ------------------------------- HOST2 000002 WAIT 00:00:19 53386 JOB0002 MODE STATUS LOCKJOB TYPE FILEPATH ---- ------ -------- ----- ------------------------------- EXC WAIT 000011 FILE /var/opt/bjex/perm/global.sample_file01
表示例のジョブ(JOB0001)が長時間ロック確保状態となっている場合,後続ジョブがロック確保待ちとなり処理が遅延するなどの影響がある。この場合,ロック確保状態のジョブが終了してロック解放されるのを待つか,またはロック確保状態のジョブをキャンセルするなどの対処が必要となる。
同一資源に対するロック確保待ちが多発する場合,センタ管理者は同一資源を割り当てるジョブの実行計画を見直す必要がある。ロック確保待ち時間は,表示例にある「ELAPSED」に表示されている。
(2) ジョブ多重度によるジョブ実行待ち状態の場合
各サーバで実行されるバッチジョブ実行システムから起動した複数のジョブで,ジョブ多重度制御によって実行待ち状態となった場合,次に示すKAKC1672-Wメッセージが出力される。
-
stderrおよびJOBLOGに出力されるメッセージ
KAKC1672-W Waiting for locking a cross-system semaphore.
-
JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ
KAKC1672-W ジョブ実行待ちが発生しました
実行待ちが発生し,実行待ちが解除された場合,次に示すKAKC1673-Iメッセージが出力される。
-
stderrおよびJOBLOGに出力されるメッセージ
KAKC1673-I Quit waiting for locking a cross-system semaphore.
-
JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ
KAKC1673-I ジョブ実行待ちは解除されました
(3) 排他資源管理テーブルの空き待ちとなり,ジョブが実行待ち状態の場合
ロック確保中またはロック待ち中のファイル合計数が,設定ファイルのbjexee.confのSHR_FILE_NUMパラメータおよびSHR_FILE_JOBMPLXパラメータで指定したファイル数を超えたことによって,ロック確保ファイルの空き待ちが発生した場合,次に示すKAKC1674-Wメッセージが出力される。
-
stderrおよびJOBLOGに出力されるメッセージ
KAKC1674-W Waiting for lock cross-system resource control table.
-
JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ
KAKC1674-W 排他資源管理テーブルの空き待ちが発生しました
また,排他資源管理テーブルの空き待ちが発生した後,排他資源管理テーブルの空き待ちが解除された場合,次に示すKAKC1675-Iメッセージが出力される。
-
stderrおよびJOBLOGに出力されるメッセージ
KAKC1675-I Quit waiting for lock cross-system resource control table.
-
JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ
KAKC1675-I排他資源管理テーブルの空き待ちが解除されました
排他資源管理テーブルの空き待ちが発生した場合,排他資源管理テーブルの空き待ちを起こしているジョブの情報を表示させることができる。
排他資源管理テーブルの空き待ちジョブを表示するコマンドの指定例,および表示例を次に示す。
-
コマンドの指定例
$ bjexeelslock
-
コマンドの表示例:全サーバのロック確保状態ジョブとロック確保待ちジョブを表示する
********************************************************************************* * LOCK MANAGER (HOST1) ********************************************************************************* HOSTNAME JOBID STATUS ELAPSED PID JP1JobID JOBNAME -------------------- ------ ------ -------- ---------- ---------- ------------------------------- HOST1 000013 LOCK 00:00:02 53385 JOB0003 HOST2 000004 WAIT 00:00:05 53386 JOB0004
上記で表示されたジョブ(JOB0003およびJOB0004)の資源確保状態を表示させる場合の表示コマンドの指定例,および表示例を次に示す。
-
コマンドの指定例
$ bjexeelslock -j 4
-
コマンドの表示例:JOB0004の資源確保状態とロック解放待ちの資源を表示する
********************************************************************************* * LOCK MANAGER (HOST1) ********************************************************************************* HOSTNAME JOBID STATUS ELAPSED PID JP1JobID JOBNAME -------------------- ------ ------ -------- ---------- ---------- ------------------------------- HOST2 000004 WAIT 00:00:19 53386 JOB0004 MODE STATUS LOCKJOB TYPE FILEPATH ---- ------ -------- ----- ------------------------------- EXC UNLK 000013 FILE /var/opt/bjex/perm/global.sample_file03 EXC UNLK 000013 FILE /var/opt/bjex/perm/global.sample_file04
表示例のジョブ(JOB0004)が長時間排他資源管理テーブルの空き待ち状態となっている場合,該当するジョブの実行を待つか,該当するジョブを強制終了する必要がある。
排他資源管理テーブルに対する空き待ちが多発する場合,センタ管理者はBJEX EEの設定ファイルの「SHR_FILE_NUM」で指定した排他資源管理テーブル数を見直す必要がある。