10.8.3 排他資源の確保待ちの発生状況を確認する方法
APやコマンドを実行したときに,排他資源の確保待ちが発生しているかどうかを確認する方法について説明します。
確認手順
-
adbls -d cnctコマンドを実行する
対象のAP,またはコマンドのコネクションIDを確認します。項目「CID」を確認してください。
-
adbls -d lockコマンドを実行する
手順1.で確認したコネクションIDと,項目「CID」に表示されたコネクションIDを突き合わせてください。そのあとで,項目「STATUS」を確認してください。WAITINGが表示されている場合は,対象のAPまたはコマンドが使用する排他資源について,排他資源の確保待ちが発生しています。
排他資源を使用している,ほかのAPやコマンドの終了を待てない場合は,手順3.に進んでください。
-
adbcancelコマンドを実行する
排他資源を使用している,ほかのAPやコマンドをadbcancelコマンドで強制終了してください。
APやコマンドを実行したときに,排他資源の確保待ちの発生を防ぎたい場合は,「6.23.3 コマンド同時実行時の排他制御に関する考慮点」を参照して,排他資源の確保待ちが発生しないように注意してください。
adbls -d cnctコマンド,adbls -d lockコマンドおよびadbcancelコマンドについては,マニュアルHADB コマンドリファレンスを参照してください。
- メモ
-
排他資源の種別が表または前処理表の場合,adbls -d lockコマンドで出力される項目「RESOURCEID」で,表IDを確認できます。表IDをキーにすると,APまたはコマンドが確保要求を発行した表の表名がわかります。表IDから表の表名を確認する方法を次に示します。
-
表IDが0x00020001〜0x000200C8の場合
「付録B.1 ディクショナリ表の概要」の「(1) ディクショナリ表の一覧」を参照すると,表IDから表の表名を確認できます。
-
表IDが0x000200C9〜0x00020190の場合
「付録C.1 システム表の概要」の「(1) システム表の一覧」を参照すると,表IDから表の表名を確認できます。
-
上記以外の表IDの場合
「付録B.22 ディクショナリ表の検索」の「(1) 表IDから表の表名を調べる場合」を参照してディクショナリ表を検索すると,表IDから表の表名を確認できます。
-