Cosminexus システム運用ガイド
JavaVMのスレッドダンプを調査すると,システムのデッドロックなどのjavaプログラムレベルでのトラブル要因の調査が容易になります。
出力される情報の種類は,J2EEサーバの起動時に指定しているオプションによって異なります。JavaVMの資料取得の設定については,マニュアル「Cosminexus システム構築ガイド」を参照してください。
スレッドダンプ情報の構成を,次に示します。
出力情報 | 内容 |
---|---|
ヘッダ | 日付,JavaVMバージョン情報,起動コマンドラインを出力します。 |
システム設定 | 次の情報を出力します。
|
動作環境 | 次の情報を出力します。
|
メモリ情報(Windowsの場合) | 現在のメモリ使用量および各未使用サイズ情報を出力します。 |
Javaヒープ情報 | Javaヒープの各世代のメモリ使用状況を出力します。 |
JavaVM内部メモリマップ情報 | JavaVM自身の確保しているメモリの領域情報を出力します。 |
JavaVM内部メモリサイズ情報 | JavaVM自身の確保しているメモリのサイズ情報を出力します。 |
アプリケーション環境 | 次の情報を出力します。
|
ライブラリ情報 | ローディングされているライブラリの情報を出力します。 |
スレッド情報 <スレッド1> : <スレッドn> |
スレッドごとにスレッド情報を出力します。 |
Javaモニタダンプ | Javaモニタオブジェクトの一覧を表示します。 |
Rawモニタダンプ | Java内部で使われるモニタ情報の一覧を出力します。Row monitorが使用された場合だけ出力されます。 |
フッタ | スレッドダンプが終了した時刻を表示します。 |
それぞれの出力内容の詳細については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。
また,J2EEアプリケーションやバッチアプリケーションでスローダウンやハングアップが発生したときに,スレッドダンプと性能解析トレースを対応づけることで,問題が発生した個所を調査できます。
スレッドダンプと性能解析トレースファイルの対応づけには,スレッドダンプに出力されたスレッド情報のnativeID(OSレベルのスレッドID)と性能解析トレースファイルに出力されたスレッドIDを使用します。スレッドダンプから対応する性能解析トレースファイルを特定する手順について説明します。
: : Full thread dump completed. Fri Jul 21 19:22:47 2006 |
: : "VBJ ThreadPool Worker" daemon prio=5 jid=0x00054f93 tid=0x04cef380 nid=0x1124 in Object.wait() [0x0632f000..0x0632fd18] stack=[0x06330000..0x062f5000..0x062f1000..0x062f0000] [user cpu time=0ms, kernel cpu time=15ms] [blocked count=1, waited count=29] at java.lang.Object.wait(Native Method) : : |
1124(16進数)=4388(10進数)
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.