Question & Answer
Question
UNIX環境での、db2pd -stack によるスタック・トレースの生成方法を教えてください。
Answer
db2pd コマンドを -stack オプションを指定して実行することで、スタック・トレースの生成が可能です。
以下のような手順で実行してください。
手順:
1. 事前準備をします。
まず、対象の EDUID を確認します。以下のコマンドを実行してください。
- db2pd -edus
db2sysc PID: 4194320
db2wdog PID: 12320986
db2acd PID: 18743336
EDU ID TID Kernel TID EDU Name
==============================================================
1204 1204 87097485 db2licc
7084 7084 24510595 db2agntdp(DB1 )
6827 6827 99549205 db2agent (idle)
6313 6313 56819797 db2evmgi (DB2DETAILDEA
6056 6056 83165231 db2pfchr (DB1 )
258 258 15663305 db2sysc
また、db2pd -stack の実行結果は DIAGPATH 配下に出力されますので、必要に応じて既存のファイルを別の場所に移動します。
2. インスタンスオーナーでログインします。
3. db2pd -stack コマンドを実行します。
例 1 : 全 EDUID を対象とする場合
- db2pd -stack all
例 2 : 特定の EDUID を対象とする場合
- db2pd -stack 258
Attempting to produce stack trace for EDUID 258.
See current DIAGPATH for trapfile.
例 3 : 実行間隔や回数を指定することが出来ます。
- db2pd -stack all -repeat 60 5
注: "-repeat" オプションの後には実行間隔(単位:秒)と実行回数を指定します。上記の例では 1 分置きに 5 回繰り返し実行されます。
出力ファイル:
DIAGPATH以下に、<PID>.<TID>.<NODE#>.stack.txt という名前のファイルが生成されます。
"<NODE#>" は論理ノード 0 の場合、常に "000" になります。)
- 例: 4194320.258.000.stack.txt
注意事項:
- パーティション環境での実行について
ESEかつDPFの環境をご使用の場合、複数の物理ノードのある複数パーティション環境では、以下の例のように、
例: db2_all "; db2pd -stack all -repeat 60 5"
"db2_all"を用いた実行を行うことで、すべてのパーティションから情報を取得できます。
しかし、同じマシン上の複数の論理パーティションだけから成る環境では、以下を実行した方が速く動作します。
例: db2pd -alldbp -stack all -repeat 60 5
- コマンドの障害 (APAR) について
db2pd コマンド実施で、APAR として報告された障害には注意が必要です。
障害の内容は以下の APAR のリンク先を確認してください。Local Fix の欄に運用回避策が記載されています。
条件によってクラッシュとなる障害が報告されています。
以下の3つの APAR は同じ内容を報告しています。
IC94312 (V9.7)
IC95703 (V10.1)
IC95501 (V10.5)
IC94312 は V9.7 フィックスパック 9 以降で、IC95703 はV10.1 フィックスパック 4 以降で、IC95501 はV10.5 フィックスパック 3 以降で修正されています。
他に eduid を指定する場合にクラッシュとなる障害について以下が報告されています。
IC87757 (V9.7)
IC87757 は V9.7 フィックスパック 8 以降で修正されています。
また、Solaris 環境における APAR もあります。
IC65724 (V9.7)
IC65724 は V9.7 フィックスパック 2 以降で修正されています。
関連情報
[DB2 LUW] db2diag.log や管理通知ログの出力先 (IM-10-0AC)
db2pd コマンドを使用したモニターおよびトラブルシューティング (v11.1)
db2pd コマンドを使用したモニターおよびトラブルシューティング (v10.5)
db2pd コマンドを使用したモニターおよびトラブルシューティング (v10.1)
db2pd コマンドを使用したモニターおよびトラブルシューティング (v.9.7)
お問合せ先
技術的な内容に関して、サービス契約のもと IBM サービス・ラインにお問い合わせください。
IBM サービス・ライン
[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Programming Interface - CLP","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"9.8;9.7;9.5;10.1;10.5;11.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21618586