7.3.1 -XX:[+|-]HitachiThreadDump
拡張スレッドダンプ情報を出力します。
説明
拡張スレッドダンプ情報を出力するかどうかを指定します。
スレッドダンプは、標準出力、および次に示すファイルに出力されます。
- スレッドダンプ出力先
-
デフォルトでは、JavaVM実行時のカレントディレクトリーです。環境変数JAVACOREDIRを指定することで、出力先を変更できます。
- スレッドダンプ出力ファイル名
-
javacoreプロセス番号.YYMMDDhhmmss※.txt
- 注※
-
YY:年(西暦で下2桁)、MM:月(2桁)、DD:日(2桁)
hh:時間(24時間表記)、mm:分(2桁)、ss:秒(2桁)
スレッドダンプ情報の構成を、次に示します。
出力情報 |
内容 |
---|---|
ヘッダー |
スレッドダンプを開始した日付および時刻、JavaVMバージョン情報、起動コマンドラインを出力します。 |
システム設定 |
次の情報を出力します。
|
動作環境 |
次の情報を出力します。
|
メモリー情報 |
次の情報を出力します。
|
Javaヒープ情報 |
Javaヒープの各世代のメモリー使用状況を出力します。 |
JavaVM内部メモリーマップ情報 |
JavaVM自身の確保しているメモリーの領域情報を出力します。 |
JavaVM内部メモリーサイズ情報 |
JavaVM自身の確保しているメモリーのサイズ情報を出力します。 |
アプリケーション情報 |
次の情報を出力します。
|
ライブラリー情報 |
ローディングされているライブラリーの情報を出力します。 |
スレッド情報 <スレッド1> : <スレッドn> |
スレッドごとにスレッド情報を出力します。現存する全スレッドのスタックトレースを出力します。 |
Javaモニターダンプ |
Javaモニターオブジェクトの一覧を表示します。スレッド間の排他待ちの状況を確認できます。 |
JNIグローバル参照数の情報 |
JavaVMが保持しているJNIのグローバル参照の数を出力します。 JNIグローバル参照は、次の場合に作成されます。
|
Explicitヒープ情報 |
Explicitヒープ情報では、Explicitヒープ全体での利用状況を出力します。Explicitヒープ利用の有無に関係なく、-XX:+HitachiUseExplicitMemoryが有効の場合は必ず出力されます。 |
Explicitメモリーブロック情報 |
Explicitメモリーブロック情報では、次の情報を出力します。ただし、Explicitメモリーブロックが1つも存在しない場合は何も出力されません。
|
フッター |
スレッドダンプを終了した日付および時刻を出力します。 |
各スレッドダンプ情報の出力形式を、次に示します。
- ヘッダー
-
EEE MMM dd hh:mm:ss yyyy※ Full thread dump Java HotSpot(TM) Client VM (1.5.0_05-b05-CDK0850-ビルド日 \ mixed mode) 起動コマンドライン ...
- 注※
-
EEEは曜日、MMMは月、ddは日を表します。また、hhは時間、mmは分、ssは秒、yyyyは年(西暦)を表します。
- システム設定
-
System Properties ----------------- Java Home Dir : JDK実行環境のインストールディレクトリー Java DLL Dir : JDKを構成するライブラリーのインストールディレクトリー Sys Classpath : システムクラスパス User Args : Javaコマンドオプション1 Javaコマンドオプション2 ...
- 動作環境
-
Operating Environment --------------------- Host : ホスト名:IPアドレス OS : OSバージョン CPU : CPU種別, 利用可能CPU数/システム全体のCPU数
- メモリー情報
-
Memory Status ------------- Memory in use : メモリー使用状況(単位:パーセント) Physical memory : 物理メモリー使用量※ free Virtual memory : 仮想メモリー使用量※ free Paging file : ページング使用量※ free
- 注※
-
利用可能サイズ/総サイズ の形式で表示されます(単位:バイト)。
- Javaヒープ情報(SerialGCの場合)
-
Heap Status ----------- def new generation max 最大の容量, total 現在の容量, \ used 使用中のメモリーサイズ \ (最大の容量に対する使用率% used/max, 現在の容量に対する使用率% used/total) [領域先頭アドレス, コミット済み領域の末尾アドレス, \ 予約済み領域の末尾アドレス) eden space 現在の容量, 使用率% used [領域先頭アドレス, \ 使用中領域の先頭アドレス, 予約済み領域の末尾アドレス) from space 現在の容量, 使用率% used [領域先頭アドレス, \ 使用中領域の先頭アドレス, 予約済み領域の末尾アドレス) to space 現在の容量, 使用率% used [領域先頭アドレス, \ 使用中領域の先頭アドレス, 予約済み領域の末尾アドレス) tenured generation max 最大の容量, total 現在の容量, \ used 使用中のメモリーサイズ \ (最大の容量に対する使用率% used/max, 現在の容量に対する使用率% used/total) [領域先頭アドレス, コミット済み領域の末尾アドレス, \ 予約済み領域の末尾アドレス) the space 現在の容量, 使用率% used [領域先頭アドレス, \ 使用中領域の先頭アドレス, 次の空きブロックの先頭アドレス, \ 予約済み領域の末尾アドレス) Metaspace max 最大の容量, capacity \ Metaspaceのコミット済みのメモリー領域からフリー領域を除いた合計サイズ, \ committed Metaspaceのコミット済みの合計メモリーサイズ, \ reserved 予約済みのメモリーサイズ, used 使用中のメモリーサイズ \ (最大の容量に対する使用率% used/max, 現在の容量に対する使用率% used/committed) class space max 最大の容量, capacity \ Metaspaceのコミット済みのメモリー領域からフリー領域を除いた合計サイズ, \ committed Metaspaceのコミット済みの合計メモリーサイズ, \ reserved 予約済みのメモリーサイズ, used 使用中のメモリーサイズ \ (最大の容量に対する使用率% used/max, 現在の容量に対する使用率% used/committed) [領域の先頭アドレス, 使用中領域の先頭アドレス, \ コミット済み領域の末尾アドレス, 予約済み領域の末尾アドレス)
注
-
容量およびメモリーサイズの単位はキロバイトです。
-
-XX:MaxMetaspaceSizeオプションを指定していない場合、Metaspace領域の最大値は無制限です。Metaspace領域の場合、最大の容量には「unlimited」、最大の容量に対する使用率には「-%」が出力されます。
-
class spaceは、64ビット版のJava VMで圧縮オブジェクトポインター機能を使用し、かつCompressed Class Spaceを使用している場合にだけ出力されます。
-
Metaspace領域の値は、Compressed Class Spaceを含むMetaspace領域全体の合計値です。
-
- Javaヒープ情報(G1GCの場合)
-
Heap Status ----------- garbage-first heap total Javaヒープ領域の容量, \ used Javaヒープ領域の使用量 [Javaヒープ領域の先頭アドレス, \ Javaヒープ領域のコミット済みの末尾アドレス, \ Javaヒープ領域の予約済みの末尾アドレス) region size 1リージョンのサイズ, New領域の使用中のリージョン数 young \ (New領域の使用量), Survivor領域の使用中のリージョン数 survivors \ (Survivor領域の使用量) Metaspace max 最大の容量, capacity \ Metaspaceのコミット済みのメモリー領域からフリー領域を除いた合計サイズ, \ committed Metaspaceのコミット済みの合計メモリーサイズ, \ reserved 予約済みのメモリーサイズ, used 使用中のメモリーサイズ \ (最大の容量に対する使用率% used/max, 現在の容量に対する使用率% used/committed) class space max 最大の容量, capacity \ Metaspaceのコミット済みのメモリー領域からフリー領域を除いた合計サイズ, \ committed Metaspaceのコミット済みの合計メモリーサイズ, \ reserved 予約済みのメモリーサイズ, used 使用中のメモリーサイズ \ (最大の容量に対する使用率% used/max, 現在の容量に対する使用率% used/committed) [領域の先頭アドレス, 使用中領域の先頭アドレス, \ コミット済み領域の末尾アドレス, 予約済み領域の末尾アドレス)
- 注
-
容量の単位はキロバイトです。
- JavaVM内部メモリーマップ情報
-
JVM Internal Memory Map ----------------------- メモリー確保関数:address = 開始アドレス - 終了アドレス (size:サイズ)
- 注
-
メモリー確保関数:mmap()かmalloc()のどちらかが出力されます。
開始アドレス:メモリー領域の開始アドレスが16進で出力されます。
終了アドレス:メモリー領域の終了アドレスが16進で出力されます。
サイズ:確保しているメモリー領域のサイズが出力されます(単位:バイト)。
- JavaVM内部メモリーサイズ情報
-
JVM Internal Memory Status -------------------------- Heap Size :確保しているメモリーサイズ※ Alloc Size :使用中のメモリーサイズ※ Free Size :未使用のメモリーサイズ※
- 注※
-
単位:バイト
- アプリケーション情報
-
Application Environment ----------------------- Signal Handlers - SIGINT :シグナルハンドラー情報 SIGILL :シグナルハンドラー情報 ... SIGBREAK :シグナルハンドラー情報 SIGABRT :シグナルハンドラー情報 Environment Variables - 環境変数=値 ... Current Directory - C:\Program Files\Hitachi\APServer\CC\...
- ライブラリー情報
-
Loaded Libraries ---------------- Dynamic libraries : 開始アドレス-終了アドレス コマンド 開始アドレス-終了アドレス ライブラリー ...
- スレッド情報
-
Stack Trace ----------- "スレッド名" #スレッド識別子 daemon prio=優先度 os_prio=OS優先度 \ jid=ハッシュ値 tid=スレッドID nid=native ID status \ [開始アドレス..終了アドレス] java.lang.Thread.State: スレッドの現在のステータス stack=[スタック開始アドレス..YellowPageアドレス..RedPageアドレス..\ スタック終了アドレス] [user cpu time=ユーザー時間ms, kernel cpu time=カーネル時間ms] \ [blocked count=ブロック回数, waited count=待機回数] at クラス名.メソッド名(メソッド情報) ...
出力内容を説明します。
出力項目
出力内容
スレッド名
Threadクラスのコンストラクターに指定されたスレッド名称が出力されます。
スレッド識別子
Javaスレッドが作成されたときに生成される一意の数字が出力されます。
この値は、java.lang.Thread.getId()で取得できる値と同じです。
daemon
デーモンスレッドである場合に、daemonと出力されます。
優先度
Thread#setPriorityで設定された優先度が出力されます。
OS優先度
OSレベルの優先度が出力されます。優先順位が設定できないOSの場合は、0が出力されます。
ハッシュ値
System.identityHashCode()を呼び出して得られる値と同一の値が8桁の16進数で出力されます。
スレッドID
スレッドオブジェクトのメモリー上のアドレスが出力されます。
nativeID
OSレベルのスレッドIDが出力されます。
status
スレッドの状態が出力されます。出力される内容を次に示します。
-
runnable:実行中または実行可能なスレッド
-
in Object.wait()、waiting for monitor entryまたはwaiting on condition:モニターロック待ちのスレッド
-
sleeping:中断状態のスレッド
開始アドレス
Javaフレームの最高位スタックアドレスが16進数で出力されます。
終了アドレス
JavaLockのある最高位スタックアドレスが16進数で出力されます。
スレッドの現在のステータス
スレッドの現在のステータスを表すメッセージが出力されます。メッセージの内容はjava.lang.Thread.State列挙型に対応します。
スタック開始アドレス
スタック開始アドレスが16進数で出力されます。
YellowPageアドレス
スタックYellowガードページ先頭アドレスが16進数で出力されます。
RedPageアドレス
スタックRedガードページ先頭アドレスが16進数で出力されます。
スタック終了アドレス
スタック終了アドレスが16進数で出力されます。
ユーザー時間
スレッド開始からのユーザー時間がミリ秒単位で出力されます。
カーネル時間
スレッド開始からのカーネル時間がミリ秒単位で出力されます。
ブロック回数
スレッド開始から、処理がブロックされた回数が出力されます。
待機回数
スレッド開始から、処理が待ち状態になった回数が出力されます。
クラス名
クラス名が出力されます。
メソッド名
メソッド名が出力されます。
メソッド情報
次のメソッド情報が出力されます。
-
Native Method
ネイティブメソッドの場合に出力されます。
-
ファイル名:行番号
Javaメソッドで行番号付きでコンパイルされている場合に出力されます。
-
Unknown Source
Javaメソッドで行番号なしでコンパイルされている場合に出力されます。
-
- Javaモニターダンプ
-
Java monitor ------------ ロックオブジェクト@ハッシュコード オーナー情報 待機状態:待機スレッド数 待機スレッド情報
出力内容を説明します。
出力項目
出力内容
ロックオブジェクト
ロック対象オブジェクトのクラス名が出力されます。
ハッシュコード
Object.hashCodeで得られるハッシュコードが出力されます。
オーナー情報
-
owner "スレッド名"スレッドID
オーナーがある場合に出力されます。
-
no owner
オーナーがない場合に出力されます。
待機状態
-
... waiting to enter
メソッド実行待ちの場合に出力されます。
-
... waiting to be notified
通知待ちの場合に出力されます。
待機スレッド数
スレッド数が出力されます。
待機スレッド情報
「"スレッド名>" スレッドID」の形式で出力されます。
-
- JNIグローバル参照数の情報
-
JNI Information --------------- JNI global references: JNIグローバル参照数
出力内容を説明します。
出力項目
出力内容
JNIグローバル参照数
JavaVMが保持しているグローバル参照の数が出力されます。
- 注
-
JNIグローバル参照はJavaVMの内部でも再利用されるため、JNIがサポートするDeleteGlobalRef関数を発行してJNIグローバル参照を削除しても、数値は減少しません。また、NewGlobalRef関数を発行してJNIグローバル参照を新規作成しても、JavaVMが再利用したJNIグローバル参照を割り当てた場合は数値は増加しません。
- Explicitヒープ情報およびExplicitメモリーブロック情報
-
Explicit Heap Status -------------------- max EH_MAX, total EH_TOTAL, used EH_USED, garbage EH_GARB (EH_PER1 used/max, \ EH_PER2 used/total, EH_PER3 garbage/used), EM_NUMS spaces exist Explicit Memories(EM_MGR_PTR) ""EM_NAME"" eid=EID(EM_PTR)/EM_TYPE, total EM_TOTAL, \ used EM_USED, garbage EM_GARB (EM_PER1 used/total, EM_PER2 garbage/used, \ FL_BLOCKS blocks) EM_STAT deployed objects ________________Size__Instances__FreeRatio__Class________________ ISIZE INUM FRATIO CNAME ... AISIZE AINUM total ...
注意事項を次に示します。
-
Explicitヒープ情報とExplicitメモリーブロック情報の間には、空行が1行あります。
-
Explicitメモリーブロック情報の出力順序(どのExplicitメモリーブロックから出力するか)は未定義とします。
-
EM_NAMEの前には、半角2文字分の空白があります。
-
deployed objectsの前には、半角4文字分の空白があります。
-
ISIZEは、_________________Size_の""e""に行末をそろえて記載しています。
-
INUMは、__Instancesの最後""s""に行末をそろえて記載しています。
-
FRATIOは、__FreeRatio__の""o""に行末をそろえて記載しています。
-
CNAMEは、__Class________________の最初から2つ目の""_""に行頭をそろえて記載しています。
-
最後の行には空行が1行あります。したがって、Explicitメモリーブロックごとの出力の間には空行が1行あります。
-
- フッター
-
Full thread dump completed. EEE MMM dd hh:mm:ss yyyy※
- 注※
-
EEEは曜日、MMMは月、ddは日を表します。また、hhは時間、mmは分、ssは秒、yyyyは年(西暦)を表します。
拡張スレッドダンプ情報との比較を、次に示します。
出力情報 |
標準スレッドダンプ |
拡張スレッドダンプ |
---|---|---|
ヘッダー |
× |
○ |
システム設定 |
× |
○ |
動作環境 |
× |
○ |
メモリー情報 |
× |
○ |
Javaヒープ情報 |
○ |
○ |
JavaVM内部メモリーマップ情報 |
× |
○ |
JavaVM内部メモリーサイズ情報 |
× |
○ |
アプリケーション情報 |
× |
○ |
ライブラリー情報 |
× |
○ |
スレッド情報 |
○ |
○※1 |
Javaモニターダンプ |
× |
○ |
JNIグローバル参照数の情報 |
○ |
○ |
Explicitヒープ情報 |
× |
○※2 |
Explicitメモリーブロック情報 |
× |
○※2 |
クラス別統計情報 |
× |
○※3 |
フッター |
× |
○ |
スレッドダンプ出力先 |
標準出力 |
標準出力※4 JavaVMログファイル |
- (凡例)
-
○:出力します。
×:出力しません。
- 注※1
-
スタックの開始および終了のアドレス情報などを出力します。
- 注※2
-
-XX:+HitachiUseExplicitMemoryオプションが有効の場合に出力します。
- 注※3
-
スレッドダンプの出力契機がjheapprofコマンドの場合に出力します。
- 注※4
-
-XX:+HitachiThreadDumpToStdoutオプションが指定された場合に出力します。
書式
-XX:[+|-]HitachiThreadDump
指定できる値
型:String
- -XX:+HitachiThreadDump
-
-Xrsオプションが指定されていない場合、スレッドダンプ出力時に拡張スレッドダンプ情報を出力します。
- -XX:-HitachiThreadDump
-
スレッドダンプ出力時に標準のスレッドダンプ情報を出力します。
デフォルト値
- 定義項目の省略
-
-XX:+HitachiThreadDump
出力例
Thu Nov 06 13:56:20 2014 Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.20-b23-HJDK1010-20141105 mixed mode) E:\home\Binary\Image\jdk\bin\java.exe -Xhras -Xms256m -Xmx512m -XX:+UseCompressedOops -XX:MaxMetaspaceSize=128m Test System Properties ----------------- Java Home Dir : E:\home\Binary\Image\jdk\jre Java DLL Dir : E:\home\Binary\Image\jdk\jre\bin Sys Classpath : E:\home\Binary\Image\jdk\jre\lib\resources.jar; E:\home\Binary\Image\jdk\jre\lib\rt.jar; E:\home\Binary\Image\jdk\jre\lib\sunrsasign.jar; E:\home\Binary\Image\jdk\jre\lib\jsse.jar; E:\home\Binary\Image\jdk\jre\lib\jce.jar; E:\home\Binary\Image\jdk\jre\lib\charsets.jar; E:\home\Binary\Image\jdk\jre\lib\jfr.jar;E:\home\Binary\Image\jdk\jre\classes User Args : -Djava.class.path=. -XX:+HitachiVerboseGC -XX:+HitachiOutputMilliTime -XX:+HitachiOutOfMemoryStackTrace -XX:+HitachiJavaClassLibTrace -XX:+HitachiLocalsInStackTrace -XX:+HitachiLocalsSimpleFormat -XX:+HitachiOutOfMemoryAbort -XX:-HitachiThreadDumpToStdout -Xms256m -Xmx512m -XX:+UseCompressedOops -XX:MaxMetaspaceSize=128m -Dsun.java.command=Test -Dsun.java.launcher=SUN_STANDARD Operating Environment --------------------- Host : WINDOWS64PC:10.255.255.255 OS : Microsoft Windows Server 2008 R2 , 64 bit 6.1.7601 Service Pack 1 CPU : amd64 8664 (Level 6, Rev. 0x2d07), 8/8 active Memory Status ------------- Memory in use : 72% Physical memory : 2387939328 / 8589402112 free Virtual memory : 8794114576384 / 8796092891136 free Paging file : 11622756352 / 17292402688 free Heap Status ----------- def new generation max 157248K, total 78656K, used 6995K (4.4% used/max, 8.9% used/total) [0x00000000e0000000, 0x00000000e5550000, 0x00000000eaaa0000) eden space 69952K, 10% used [0x00000000e0000000, 0x00000000e06d4e18, 0x00000000e4450000) from space 8704K, 0% used [0x00000000e4450000, 0x00000000e4450000, 0x00000000e4cd0000) to space 8704K, 0% used [0x00000000e4cd0000, 0x00000000e4cd0000, 0x00000000e5550000) tenured generation max 349568K, total 174784K, used 0K (0.0% used/max, 0.0% used/total) [0x00000000eaaa0000, 0x00000000f5550000, 0x0000000100000000) the space 174784K, 0% used [0x00000000eaaa0000, 0x00000000eaaa0000, 0x00000000eaaa0200, 0x00000000f5550000) Metaspace max 131072K, capacity 4492K, committed 4864K, reserved 1056768K, used 3738K, (2.9% used/max, 76.9% used/committed) class space max 1048576K, capacity 388K, committed 512K, reserved 1048576K, used 378K, (0.0% used/max, 74.0% used/committed) [0x0000000011c90000, 0x0000000011cf1000, 0x0000000011d10000, 0x0000000051c90000) JVM Internal Memory Map ----------------------- mmap() : address = 0x0000000001bb0000 - 0x0000000001bf0000 (size:262144) mmap() : address = 0x0000000001c00000 - 0x0000000001c40000 (size:262144) mmap() : address = 0x00000000024e0000 - 0x0000000002560000 (size:524288) mmap() : address = 0x0000000052490000 - 0x00000000525d0000 (size:1310720) mmap() : address = 0x00000000525f0000 - 0x00000000526b0000 (size:786432) mmap() : address = 0x0000000052800000 - 0x0000000052840000 (size:262144) mmap() : address = 0x0000000052990000 - 0x00000000529d0000 (size:262144) mmap() : address = 0x0000000052db0000 - 0x0000000052e30000 (size:524288) JVM Internal Memory Status -------------------------- Heap Size : 4358144 Alloc Size : 3820000 Free Size : 538144 Application Environment ----------------------- Signal Handlers - SIGINT : 0x000000006ab67470 SIGILL : default SIGFPE : default SIGSEGV : default SIGTERM : 0x000000006ab67470 SIGBREAK : default SIGABRT : default Environment Variables - ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\guest\AppData\Roaming CLIENTNAME=WIN-WINDOWS64PC CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files COMPUTERNAME=WINDOWS64PC ComSpec=C:\Windows\system32\cmd.exe COSMINEXUS_HNTRLIB_HOME=C:\Program Files\Hitachi\HNTRLib2 COSMINEXUS_HOME=C:\Program Files\Hitachi\Cosminexus DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\ FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\Users\guest LOCALAPPDATA=C:\Users\guest\AppData\Local LOGONSERVER=\\WINDOWS64PC NUMBER_OF_PROCESSORS=8 OS=Windows_NT Path=C:\cygwin\bin;C:\Windows\system32;C:\Windows PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PRFSPOOL=C:\Program Files\Hitachi\Cosminexus\PRF\spool PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 45 Stepping 7, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=2d07 ProgramData=C:\ProgramData ProgramFiles=C:\Program Files ProgramFiles(x86)=C:\Program Files (x86) ProgramW6432=C:\Program Files PROMPT=$P$G PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ PUBLIC=C:\Users\Public REPLAY_TEST=1 SESSIONNAME=RDP-Tcp#4 SystemDrive=C: SystemRoot=C:\Windows TEMP=C:\Users\guest\AppData\Local\Temp\16 TMP=C:\Users\guest\AppData\Local\Temp\16 USERDOMAIN=WINDOWS64PC USERNAME=guest USERPROFILE=C:\Users\guest VS100COMNTOOLS=c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\ Tools\ WINDBG=C:\Program Files\Debugging Tools for Windows (x64)\windbg.exe windir=C:\Windows windows_tracing_flags=3 windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log Current Directory - E:\home\guest Loaded Libraries ---------------- Dynamic libraries: 0x000000013f250000 - 0x000000013f270000 E:\home\Binary\Image\jdk\bin\ java.exe 0x0000000077890000 - 0x0000000077a39000 C:\Windows\SYSTEM32\ntdll.dll 0x0000000077670000 - 0x000000007778f000 C:\Windows\system32\ kernel32.dll 0x000007fefd980000 - 0x000007fefd9ec000 C:\Windows\system32\ KERNELBASE.dll 0x000007fefddb0000 - 0x000007fefde8b000 C:\Windows\system32\ADVAPI32.dll 0x000007feff360000 - 0x000007feff3ff000 C:\Windows\system32\msvcrt.dll 0x000007feff840000 - 0x000007feff85f000 C:\Windows\SYSTEM32\sechost.dll 0x000007feff0c0000 - 0x000007feff1ed000 C:\Windows\system32\RPCRT4.dll 0x0000000077790000 - 0x000000007788a000 C:\Windows\system32\USER32.dll 0x000007fefefc0000 - 0x000007feff027000 C:\Windows\system32\GDI32.dll 0x000007feff030000 - 0x000007feff03e000 C:\Windows\system32\LPK.dll 0x000007feff210000 - 0x000007feff2d9000 C:\Windows\system32\USP10.dll 0x000007fefc1f0000 - 0x000007fefc3e4000 C:\Windows\WinSxS\amd64_ microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_ fa396087175ac9ac\COMCTL32.dll 0x000007feff2e0000 - 0x000007feff351000 C:\Windows\system32\SHLWAPI.dll 0x000000006e1e0000 - 0x000000006e2b1000 E:\home\Binary\Image\jdk\bin\ MSVCR100.dll 0x000007fefdd80000 - 0x000007fefddae000 C:\Windows\system32\IMM32.DLL 0x000007feff9f0000 - 0x000007feffaf9000 C:\Windows\system32\MSCTF.dll 0x000000006dfe0000 - 0x000000006e0b1000 E:\home\Binary\Image\jdk\jre\ bin\msvcr100.dll 0x000000006a8c0000 - 0x000000006b13f000 E:\home\Binary\Image\jdk\jre\ bin\server\jvm.dll 0x000007fef8ff0000 - 0x000007fef8ff9000 C:\Windows\system32\WSOCK32.dll 0x000007fefdba0000 - 0x000007fefdbed000 C:\Windows\system32\WS2_32.dll 0x000007fefde90000 - 0x000007fefde98000 C:\Windows\system32\NSI.dll 0x000007fefa870000 - 0x000007fefa8ab000 C:\Windows\system32\WINMM.dll 0x0000000077a50000 - 0x0000000077a57000 C:\Windows\system32\PSAPI.DLL 0x000007fef6bc0000 - 0x000007fef6bcf000 E:\home\Binary\Image\jdk\jre\ bin\verify.dll 0x000007fef6a20000 - 0x000007fef6a4b000 E:\home\Binary\Image\jdk\jre\ bin\java.dll 0x000007fef6850000 - 0x000007fef6866000 E:\home\Binary\Image\jdk\jre\ bin\zip.dll 0x000007fefc400000 - 0x000007fefc415000 C:\Windows\system32\NLAapi.dll 0x000007fef9080000 - 0x000007fef9095000 C:\Windows\system32\napinsp.dll 0x000007fefcfc0000 - 0x000007fefd015000 C:\Windows\System32\mswsock.dll 0x000007fefce40000 - 0x000007fefce9b000 C:\Windows\system32\DNSAPI.dll 0x000007fef9070000 - 0x000007fef907b000 C:\Windows\System32\winrnr.dll 0x000007fefbb30000 - 0x000007fefbb57000 C:\Windows\system32\IPHLPAPI.DLL 0x000007fefbb20000 - 0x000007fefbb2b000 C:\Windows\system32\WINNSI.DLL 0x000007fefb8b0000 - 0x000007fefb903000 C:\Windows\System32\fwpuclnt.dll 0x000007fefa190000 - 0x000007fefa198000 C:\Windows\system32\rasadhlp.dll 0x000007fefe230000 - 0x000007fefefb8000 C:\Windows\system32\SHELL32.dll 0x000007fefdf40000 - 0x000007fefe143000 C:\Windows\system32\ole32.dll 0x000007fefd790000 - 0x000007fefd79f000 C:\Windows\system32\profapi.dll Stack Trace ----------- "JavaLogRotationTimer" #12 daemon prio=5 os_prio=0 jid=<N/A> tid=0x0000000052622000 nid=0x2bb78 in Object.wait() [0x00000000540df000..0x00000000540df520] java.lang.Thread.State: TIMED_WAITING (on object monitor) stack= [0x00000000540e0000..0x0000000053fe4000..0x0000000053fe1000..0x0000000053fe0000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=1, waited count=2] at java.lang.Object.wait(Native Method) - waiting on <0x00000000e0087358> (a java.util.TaskQueue) locals: (java.lang.Object) this = <0x00000000e0087358> (long) [arg1] = 36223964 at java.util.TimerThread.mainLoop(Timer.java:552) - locked <0x00000000e0087358> (a java.util.TaskQueue) locals: (java.util.TimerThread) this = <0x00000000e00876d0> (java.util.TimerTask) task = <0x00000000e00ecc18> (boolean) taskFired = false (long) currentTime = 1415249776949 (long) executionTime = 1415286000913 at java.util.TimerThread.run(Timer.java:505) locals: (java.util.TimerThread) this = <0x00000000e00876d0> "Service Thread" #11 daemon prio=9 os_prio=0 jid=<N/A> tid=0x000000005261b000 nid=0x1d04c runnable [0x0000000000000000..0x0000000000000000] java.lang.Thread.State: RUNNABLE stack= [0x0000000053ba0000..0x0000000053aa4000..0x0000000053aa1000..0x0000000053aa0000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] "C1 CompilerThread3" #10 daemon prio=9 os_prio=2 jid=<N/A> tid=0x000000005258e800 nid=0x3ad64 waiting on condition [0x0000000000000000..0x0000000000000000] java.lang.Thread.State: RUNNABLE stack= [0x0000000053a30000..0x0000000053934000..0x0000000053931000..0x0000000053930000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] "C2 CompilerThread2" #9 daemon prio=9 os_prio=2 jid=<N/A> tid=0x0000000052581800 nid=0x1eaa8 waiting on condition [0x0000000000000000..0x0000000000000000] java.lang.Thread.State: RUNNABLE stack= [0x00000000538d0000..0x00000000537d4000..0x00000000537d1000..0x00000000537d0000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] "C2 CompilerThread1" #8 daemon prio=9 os_prio=2 jid=<N/A> tid=0x0000000052575800 nid=0x3cf68 waiting on condition [0x0000000000000000..0x0000000000000000] java.lang.Thread.State: RUNNABLE stack= [0x0000000053710000..0x0000000053614000..0x0000000053611000..0x0000000053610000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] "C2 CompilerThread0" #7 daemon prio=9 os_prio=2 jid=<N/A> tid=0x000000005256e800 nid=0x3f304 waiting on condition [0x0000000000000000..0x0000000000000000] java.lang.Thread.State: RUNNABLE stack= [0x00000000534b0000..0x00000000533b4000..0x00000000533b1000..0x00000000533b0000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] "Attach Listener" #6 daemon prio=5 os_prio=2 jid=<N/A> tid=0x000000005256c000 nid=0xb93c runnable [0x0000000000000000..0x0000000000000000] java.lang.Thread.State: RUNNABLE stack= [0x00000000532c0000..0x00000000531c4000..0x00000000531c1000..0x00000000531c0000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] "Signal Dispatcher" #5 daemon prio=9 os_prio=2 jid=<N/A> tid=0x0000000052569800 nid=0x1b6ac waiting on condition [0x0000000000000000..0x0000000000000000] java.lang.Thread.State: RUNNABLE stack= [0x0000000052990000..0x0000000052894000..0x0000000052891000..0x0000000052890000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] "FinalizerWatcherThread" #4 daemon prio=5 os_prio=0 jid=<N/A> tid=0x000000005253f000 nid=0x6f70 waiting on condition [0x00000000530ef000..0x00000000530ef530] java.lang.Thread.State: TIMED_WAITING (sleeping) stack= [0x00000000530f0000..0x0000000052ff4000..0x0000000052ff1000..0x0000000052ff0000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=0] at java.lang.Thread.sleep(Native Method) locals: (long) [arg1] = 60000 at java.lang.ref.Finalizer$FinalizerWatcherThread.run (Finalizer.java:300) locals: (java.lang.ref.Finalizer$FinalizerWatcherThread) this = <0x00000000e0063700> (int) interval = 60000 (java.lang.String) prop = (null) (java.lang.Object) oldObj = (null) (java.lang.Object) newObj = (null) (long) length = 0 "Finalizer" #3 daemon prio=8 os_prio=1 jid=<N/A> tid=0x0000000002559800 nid=0xd50c in Object.wait() [0x0000000052f2e000..0x0000000052f2f240] java.lang.Thread.State: WAITING (on object monitor) stack= [0x0000000052f30000..0x0000000052e34000..0x0000000052e31000..0x0000000052e30000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=3, waited count=2] at java.lang.Object.wait(Native Method) - waiting on <0x00000000e0006460> (a java.lang.ref.ReferenceQueue$Lock) locals: (java.lang.Object) this = <0x00000000e0006460> (long) [arg1] = 0 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x00000000e0006460> (a java.lang.ref.ReferenceQueue$Lock) locals: (java.lang.ref.ReferenceQueue) this = <0x00000000e0006440> (long) timeout [arg1] = 0 (java.lang.ref.Reference) r = (null) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:159) locals: (java.lang.ref.ReferenceQueue) this = <0x00000000e0006440> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:222) locals: (java.lang.ref.Finalizer$FinalizerThread) this = <0x00000000e0006510> (sun.misc.JavaLangAccess) jla = <0x00000000e0063218> "Reference Handler" #2 daemon prio=10 os_prio=2 jid=<N/A> tid=0x0000000002551000 nid=0xd6b8 in Object.wait() [0x0000000052daf000..0x0000000052daf3d0] java.lang.Thread.State: WAITING (on object monitor) stack= [0x0000000052db0000..0x0000000052cb4000..0x0000000052cb1000..0x0000000052cb0000] [user cpu time=0ms, kernel cpu time=0ms] [blocked count=0, waited count=1] at java.lang.Object.wait(Native Method) - waiting on <0x00000000e0005ed0> (a java.lang.ref.Reference$Lock) locals: (java.lang.Object) this = <0x00000000e0005ed0> (long) [arg1] = 0 at java.lang.Object.wait(Object.java:502) locals: (java.lang.Object) this = <0x00000000e0005ed0> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157) - locked <0x00000000e0005ed0> (a java.lang.ref.Reference$Lock) locals: (java.lang.ref.Reference$ReferenceHandler) this = <0x00000000e0005f50> "main" #1 prio=5 os_prio=0 jid=<N/A> tid=0x0000000001bba800 nid=0x25244 waiting on condition [0x000000000281e000..0x000000000281fa00] java.lang.Thread.State: TIMED_WAITING (sleeping) stack= [0x0000000002820000..0x0000000002724000..0x0000000002721000..0x0000000002720000] [user cpu time=140ms, kernel cpu time=31ms] [blocked count=0, waited count=0] at java.lang.Thread.sleep(Native Method) locals: (long) [arg1] = 5000 at Test.main(Test.java:5) locals: (java.lang.String[]) args [arg1] = <0x00000000e00f00f0> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) locals: (java.lang.reflect.Method) [arg1] = <0x00000000e00f0170> (java.lang.Object) [arg2] = (null) (java.lang.Object[]) [arg3] = <0x00000000e00f01c8> at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) locals: (sun.reflect.NativeMethodAccessorImpl) this = <0x00000000e00f0250> (java.lang.Object) obj [arg1] = (null) (java.lang.Object[]) args [arg2] = <0x00000000e00f01c8> at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) locals: (sun.reflect.DelegatingMethodAccessorImpl) this = <0x00000000e00f02d8> (java.lang.Object) obj [arg1] = (null) (java.lang.Object[]) args [arg2] = <0x00000000e00f01c8> at java.lang.reflect.Method.invoke(Method.java:483) locals: (java.lang.reflect.Method) this = <0x00000000e00f0170> (java.lang.Object) obj [arg1] = (null) (java.lang.Object[]) args [arg2] = <0x00000000e00f01c8> (sun.reflect.MethodAccessor) ma = <0x00000000e00f02d8> at JP.co.Hitachi.soft.jvm.tools.Java_hras.execJava(Java_hras.java:53) locals: (JP.co.Hitachi.soft.jvm.tools.Java_hras) this = <0x00000000e00f00d8> (java.lang.ClassLoader) loader = <0x00000000e0080f58> (java.lang.Class) klazz = <0x00000000e00ef170> (java.lang.reflect.Method) m = <0x00000000e00f0170> at JP.co.Hitachi.soft.jvm.tools.Java_hras.main(Java_hras.java:40) locals: (java.lang.String[]) args [arg1] = <0x00000000e00efd68> (java.lang.String) className [arg2] = <0x00000000e00efd38> "VM Thread" os_prio=2 tid=0x0000000002549800 nid=0xdfc runnable "VM Periodic Task Thread" os_prio=2 tid=0x000000005261f000 nid=0x240a4 waiting on condition Java monitor ------------ java.util.TaskQueue@0x00000000e0087358 no owner waiting to be notified: 1 "JavaLogRotationTimer" 0x0000000052622000 java.lang.ref.ReferenceQueue$Lock@0x00000000e0006460 no owner waiting to be notified: 1 "Finalizer" 0x0000000002559800 java.lang.ref.Reference$Lock@0x00000000e0005ed0 no owner waiting to be notified: 1 "Reference Handler" 0x0000000002551000 JNI Information --------------- JNI global references: 7 Full thread dump completed. Thu Nov 06 13:56:20 2014
注意事項
-
環境変数JAVACOREDIRで指定したディレクトリーへの出力に失敗した場合、カレントディレクトリーに出力されます。
-
カレントディレクトリーへの出力に失敗した場合、標準エラー出力に出力されます。なお、この場合、スレッドダンプは標準出力に出力されません。
-
次に示すオプションの[+|-]指定が「-」の場合、スレッド情報の一部が出力されないのでご注意ください。
オプション名称
出力されない情報
-XX:[+|-]HitachiThreadDumpWithHashCode
ハッシュ値
-XX:[+|-]HitachiThreadDumpWithCpuTime
ユーザー時間、カーネル時間
-XX:[+|-]HitachiThreadDumpWithBlockCount
ブロック回数、待機回数