5.8.1 シグナルが発生した場合
シグナルが発生した場合,次に示す項目がログ出力されます。出力内容には,JavaVMとして拡張された内容が含まれます。
-
異常終了位置とシグナル種別※
-
コマンドライン
-
CPU,メモリ,OSバージョン
-
時間情報※
-
カレントスレッド情報
-
JITコンパイラスレッド情報
-
スタックトレース※
-
シグナル情報の格納先アドレス※
-
シグナル情報
-
siginfo情報※(UNIXの場合)
-
CDS(クラスデータの共有)へのアクセスエラー情報
-
レジスタ情報
-
スタックの先頭から格納されている情報
-
レジスタスタック(bsp)の先頭から格納されている内容の表示
-
スタックスロットのマッピング情報
-
CodeBlobの表示
-
VMオペレーション
-
ユーザ情報
-
スレッド情報
-
コンパイルタスク情報(JDK21以降の場合)
-
VMの状態
-
OutOfMemoryErrorとStackOverflow例外の発生回数
-
圧縮OOP情報
-
CompressedClassSpace情報
-
メモリ情報※
-
Javaヒープの使用状況※
-
ZGCページ情報
-
G1GC領域情報
-
Card tableマップアドレスの表示
-
マークビット情報
-
Polling pageアドレスの表示
-
Large pages確保失敗情報
-
Metaspace情報
-
CodeCache情報
-
Event情報
-
ライブラリ
-
ネイティブデコーダ
-
コマンドおよびVMパラメタ※
-
フラグ
-
WhiteBox API
-
ロギング
-
環境変数
-
登録済みシグナルハンドラ
-
ネイティブメモリトラッキング情報
-
TRIM機能使用情報(JDK21以降の場合)
-
ダイレクトバッファ情報(JDK17以降の場合)※
-
マシン情報※
-
システム名,CPU,実メモリ,およびVM情報
-
javatrace起動コマンドのコマンドライン※(UNIXの場合)
-
エラーリポート出力の完了
注※ 製品で拡張された出力内容です。
それぞれの出力内容について説明します。
- 〈この項の構成〉
-
(1) 異常終了位置とシグナル種別
異常終了時の状態に応じて,次のどちらかの内容が出力されます。この内容は,JavaVMで拡張された出力内容です。
(a) シグナルを検出した場合
次のメッセージが出力されます。
# # A fatal error has been detected by the Java Runtime Environment:
次の内容が出力されます。
シグナルを検出した場合の出力内容
# # A fatal error has been detected by the Java Runtime Environment: # # <発生したシグナル名> (<シグナル番号>) at pc=<PCアドレス>, pid=<プロセスID>, tid=<スレッドID> # # JRE version: <jreバージョン情報> # Java VM: Java HotSpot(TM) <VM種別> (<Sunバージョン情報>-<バージョン情報>-<ビルド年月日> mixed mode<OS名>-<CPU種別>) # Problematic frame: # <種別コード> [<シグナルが発生したライブラリ名>+<オフセット>] #
- 注
-
シグナルが発生した関数名が取り出せた場合,「<シグナルが発生したライブラリ名>+<オフセット>」に続いて,その関数名とオフセットが表示されることがあります。
(b) 内部論理エラーが発生した場合
次の内容が出力されます。
内部論理エラーが発生した場合の出力内容
# # Internal Error (<ファイル名>:<行数> または,Internal Errorのコード), pid=<プロセスID>, tid=<スレッドID> # <内部論理エラー種別>: 内部論理エラーメッセージ # # JRE version: <jreバージョン情報> # Java VM: Java HotSpot(TM) <VM種別> (<Sunバージョン情報>-<バージョン情報>-<ビルド年月日> mixed mode<OS名>-<CPU種別> <圧縮OOP>) # # <coreファイル情報>
- 注
-
Internal Errorには,ファイル名および行数の組み合わせ,またはInternal Errorのコードが出力されます。<内部論理エラー種別>には,発生した内部論理エラーの種類によって,"fatal error","guarantee(<論理式>) failed",または"Error"のどれかが出力されます。
(5) カレントスレッド情報
スレッドの種類に応じて次の3種類の情報が出力されます。
-
JDK17以前の場合
Current thread (<アドレス>): <スレッド名> "<スレッド名称>" [_<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>)] または Current thread (<アドレス>): <スレッド名> [_id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>)] または Current thread is native thread
-
JDK21以降の場合
Current thread (<アドレス>): スレッド名 "スレッド名称" [<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>) (サイズ)] または Current thread is native thread 仮想スレッドの場合は Current thread (<アドレス>): スレッド名 "スレッド名称" daemon [<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>) (サイズ)]
(7) スタックトレース
次の内容が出力されます。ただし,Current threadがJavaThread以外の場合は出力されません。
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) <スタックトレース> :
(8) シグナル情報の格納先アドレス
次の内容が出力されます。この内容は,JavaVMで拡張された出力内容です。
siginfo address: <アドレス>, context address: <アドレス>
(9) シグナル情報
次の内容が出力されます。
- Windowsの場合
-
EXCEPTION_ACCESS_VIOLATION(読み込み違反)
siginfo: ExceptionCode=<シグナル番号>, reading address <アドレス>
EXCEPTION_ACCESS_VIOLATION(書き込み違反)
siginfo: ExceptionCode=<シグナル番号>, writing address <アドレス>
EXCEPTION_ACCESS_VIOLATION(その他)
siginfo: ExceptionCode=<シグナル番号>, ExceptionInformation=<付加情報>
EXCEPTION_ACCESS_VIOLATION以外
siginfo: ExceptionCode=<シグナル番号>, ExceptionInformation=<付加情報1> <付加情報2> ・・・
- UNIXの場合
-
siginfo:si_signo= <発生したシグナル番号> (<発生したシグナル名>), si_errno: <番号>, si_code: <番号>(<シグナル理由種別>), si_addr: <アドレス>
(10) siginfo情報(UNIXの場合)
次の内容が出力されます。この内容は,JavaVMで拡張された出力内容です。ただし,内部論理エラーの場合は出力されません。
siginfo structure dump (location: <siginfoのアドレス>) <siginfoのアドレス> <siginfoのアドレス> <siginfoのアドレス> <siginfoのアドレス> : <siginfoのアドレス> <siginfoのアドレス> <siginfoのアドレス> <siginfoのアドレス>
- 注
-
<siginfoのアドレス>は16進数で出力されます。
(11) CDS(クラスデータの共有)へのアクセスエラー情報
CDSへのアクセスでシグナル※が発生した場合,次のメッセージが出力されます。
Error accessing class data sharing archive. Mapped file inaccessible during execution, possible disk/network problem.
- 注※
-
Windowsの場合:EXCEPTION_IN_PAGE_ERROR
UNIXの場合:SIGBUSまたはSIGSEGV
(12) レジスタ情報
次の内容が出力されます。ただし,内部論理エラーの場合は出力されません。
Registers:<レジスタ情報> :
- 注
-
UNIXの場合,BSPレジスタの値がデバッガ(gdb)の値と異なって出力されます。これは,デバッガではBSPの指すバッキングストア領域の内容を出力しており,BSPの指す位置を修正しているためです。
(13) スタックの先頭から格納されている情報
次の内容が出力されます。ただし,内部論理エラーの場合は出力されません。
Top of Stack: (sp=<スタックポインタのアドレス>) <アドレス>: <格納されている内容> :
- 注
-
<格納されている内容>は16進数で出力されます。
(14) レジスタスタック(bsp)の先頭から格納されている内容の表示
次の内容はLINUX/IPFの場合にだけ表示されます。
Top of Register Stack: (bsp=<アドレス>) <アドレス>: <格納されている内容> :
- 注
-
内部論理エラーの場合は出力されません。
(15) スタックスロットのマッピング情報
次の内容は,内部倫理エラーの場合は出力されません。
Stack slot to memory mapping: <マッピング情報> native method entry point (kind = <メソッドの種類>) [<メモリ範囲の開始アドレス>, <メモリアドレスの終了アドレス>] <コードサイズ> bytes :
(16) CodeBlobの表示
エラー発生時のマシンが,動的に生成されたマシン語コードのアドレスであった場合,CodeBlobが出力されます。
(a) Interpreter用のコードの場合
次の情報が出力されます。
<コードの説明> <コード種別> <コード名> [コードの開始アドレス, コードの終了アドレス] <コードサイズ> bytes <コードのデコード結果>
(b) Interpreter用以外のコードの場合
次の情報が出力されます。
<コードが属するグループ名>::<コード名> [コードの開始アドレス, コードの終了アドレス[ (<コードサイズ> bytes)<コードのデコード結果>
(17) VMオペレーション
VMスレッドでエラーが発生したときに出力されます。
VM_Operation (<アドレス>): <名称>, mode: <モード>, requested by thread <呼び出しスレッドのアドレス>
(18) ユーザ情報
JDK17以降の場合で,かつUNIX系のときに出力されます。ExtensiveErrorReportsオプションが有効な場合,ユーザーの詳細情報が出力されます。
uid : <実ユーザーID> euid : <実効ユーザーID> gid : <実グループID> egid : <実効グループID> umask: <ファイル属性の値> (<ファイル属性>)
(19) スレッド情報
次の内容が出力されます。
-
JDK17以前の場合
Java Threads: ( => current thread ) <アドレス> JavaThread “<スレッド名称>“ [<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>)] : =><アドレス> JavaThread “<スレッド名称>“ [<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>)] Other Threads: <アドレス> <スレッド名> [stack(<開始アドレス>,<終了アドレス>)] [id=<スレッドID>] :
-
JDK21以降の場合
Threads class SMR info: _java_thread_list=<スレッドリストアドレス>, length=<スレッドリスト長>, elements={ <スレッドアドレス1>, <スレッドアドレス2>, <スレッドアドレス3>, <スレッドアドレス4> : } _to_delete_list=<スレッドリストアドレス>, length=<スレッドリスト長>, elements={ <スレッドアドレス1>, <スレッドアドレス2>, <スレッドアドレス3>, <スレッドアドレス4>, : } next-> <スレッドリストアドレス>, length=<スレッドリスト長>, elements={ <スレッドアドレス1>, <スレッドアドレス2>, <スレッドアドレス3>, <スレッドアドレス4>, : } Java Threads: ( => current thread ) =><アドレス> JavaThread "Javaスレッド名称" [<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>) (<スタックサイズ>K)] <アドレス> JavaThread "Javaスレッド名称" daemon [<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>) (<スタックサイズ>K)] : Total: <合計Javaスレッド数> Other Threads: <アドレス> <スレッド名> "スレッド名称" [<状態>, id=<スレッドID>, stack(<開始アドレス>,<終了アドレス>) (<スタックサイズ>K)] : Total: <合計スレッド数>
(20) コンパイルタスク情報(JDK21以降の場合)
次の内容が出力されます。
Threads with active compile tasks: Total: <タスク数>
(21) VMの状態
次の内容が出力されます。
VM state:<現在の状態> VM Mutex/Monitor currently owned by a thread: <mutexs/moniter>
- 注
-
この情報に続いて,ロック情報が出力される場合があります。
(22) OutOfMemoryErrorとStackOverflow例外の発生回数
OutOfMemoryErrorまたはStackOverflow例外が発生していた場合,発生回数が出力されます。
OutOfMemory and StackOverflow Exception counts: OutOfMemoryError java_heap_errors=<Javaヒープ領域でOOM例外が発生した回数>※ OutOfMemoryError metaspace_errors=<Metaspace領域でOOM例外が発生した回数>※ OutOfMemoryError class_metaspace_errors=<Compressedクラス領域でOOM例外が発生した回数>※ StackOverflowErrors=<StackOverflow例外が発生した回数>※ LinkageErrors=< LinkageError例外が発生した回数>※
- 注※
-
例外が発生していない場合は出力されません。
(23) 圧縮OOP情報
JDK11の場合で,かつUseCompressedOopsオプションがONの場合に,次の内容が出力されます。
Heap address: <Javaヒープのアドレス>, size: <予約サイズ> MB, Compressed Oops mode: <OOP情報> Narrow klass base: <narrow_klassのベースアドレス>, Narrow klass shift: <ビット数> Compressed class space size: <CompressedClassSpaceのサイズ> Address: <CompressedClassSpaceのアドレス>
(24) CompressedClassSpace情報
JDK17以降の場合で,かつUseCompressedClassPointersオプションがONの場合に,次の内容が出力されます。なお,UseSharedSpacesオプションによって出力される内容が異なります。
-
UseSharedSpacesオプションがONの場合
CDS archive(s) mapped at: [<クラスデータ共有使用領域のベースアドレス>-<クラスデータ共有使用領域の先頭アドレス>-<クラスデータ共有使用領域の先頭アドレス(動的アーカイブ)>), size <クラスデータ共有で使用しているサイズ>, SharedBaseAddress: <クラスデータ共有のメモリ領域を割り当てるアドレス>, ArchiveRelocationMode: <クラスデータ共有のマッピングモード>. Compressed class space mapped at: <開始アドレス>-<終了アドレス>, reserved size: <サイズ> Narrow klass base: <narrow_klassのベースアドレス>, Narrow klass shift: <ビット数>, Narrow klass range: < narrow_klassが使用するアドレス範囲>
-
UseSharedSpacesオプションがOFFの場合
CDS archive(s) not mapped Compressed class space mapped at: <CompressedClassSpace開始アドレス>-<CompressedClassSpace終了アドレス>, reserved size: <CompressedClassSpace予約サイズ> Narrow klass base: <narrow_klassのベースアドレス>, Narrow klass shift: <ビット数>, Narrow klass range: <narrow_klassが使用するアドレス範囲>
(25) メモリ情報
次の内容が出力されます。この内容は,JavaVMで拡張された出力内容です。
Memory :
<メモリ確保関数>:address<開始アドレス> - <終了アドレス>(size:<サイズ>)
:
Heap Size:<確保しているメモリサイズ>
Alloc Size:<使用中のメモリサイズ>
Free Size:<未使用のメモリサイズ>
<メモリ確保関数>は,mmap()またはmalloc()のどちらかです。アドレスは16進数で表示されます。
各種メモリサイズの単位はバイトです。
(26) Javaヒープの使用状況
次の内容が出力されます。GCとヒープに関する情報です。
GCについては,ZGCの使用有無やJDKのバージョンによって出力内容が異なります。
-
ZGC以外の使用時(JDK17の場合)
GC Precious Log: Card Set container configuration: InlinePtr #cards <カード枚数> size <バイト数> Array Of Cards #cards <カード枚数> size <バイト数> Howl #buckets <バケット数> coarsen threshold <閾値> Howl Bitmap #cards <カード枚数> size <バイト数> coarsen threshold <閾値> Card regions per heap region <カード領域数> cards per card region <カード枚数> CPUs: <システム全体のCPU数> total, <利用可能CPU数> available Memory: <物理メモリ量> Large Page Support: <UseLargePagesオプションの設定有無> NUMA Support: <UseNUMAオプションの設定有無> NUMA Nodes: <NUMAノード数>※1 Compressed Oops: <UseCompressedOopsオプションの設定有無> (<圧縮オブジェクトポインタ機能のモード>) Heap Region Size: <リージョンサイズ>※2 Heap Min Capacity: <ヒープサイズの最小値> Heap Initial Capacity: <ヒープサイズの初期値> Heap Max Capacity: <ヒープサイズの最大値> Pre-touch: <AlwaysPreTouchオプションの設定有無> Parallel Workers: <ParallelGCThreadsオプションの値>※3 Concurrent Workers: <ConcGCThreadsオプションの値>※4 Concurrent Refinement Workers: <G1ConcRefinementThreadsオプションの値>※2 Periodic GC: <G1PeriodicGCIntervalオプションの設定有無>※2 Periodic GC Interval: <G1ConcRefinementThreadsオプションの値>ms※2,※6 String Deduplication is enabled※7
- 注※1
-
UseNUMAオプションが有効の場合に出力されます。
- 注※2
-
UseG1GCオプションが有効の場合に出力されます。
- 注※3
-
ParallelGCThreadsオプションの値が1以上の場合に出力されます。
- 注※4
-
ConcGCThreadsオプションの値が1以上の場合に出力されます。
- 注※5
-
G1ConcRefinementThreadsオプションの値が1以上の場合に出力されます。
- 注※6
-
G1PeriodicGCIntervalオプションの値が1以上の場合に出力されます。
- 注※7
-
UseStringDeduplicationオプションが有効の場合に出力されます。
-
ZGCの使用時(JDK17の場合)
GC Precious Log: NUMA Support: <UseNUMAオプションの設定有無> CPUs: <システム全体のCPU数> total, <利用可能CPU数> available Memory: <物理メモリ量> Large Page Support: <UseLargePagesオプションの設定有無> GC Workers: <GC Workerスレッドの数> Address Space Type: <ヒープの仮想メモリの状態> Address Space Size: <ヒープの仮想メモリサイズ> Heap Backing File: /memfd:<ファイル名>※ Heap Backing Filesystem: <ファイルシステム> (アドレス) ※ Min Capacity: <ヒープサイズの最小値> Initial Capacity: <ヒープサイズの初期値> Max Capacity: <ヒープサイズの最大値>Medium Page Size: <MediumPageサイズ> Pre-touch: <AlwaysPreTouchオプションの設定有無> Available space on backing filesystem: <ファイルシステム>※ Uncommit: <ZUncommitオプションの設定有無> Runtime Workers: <Runtime Workerスレッドの数> ZGC Globals: GlobalPhase: <フェイズの状態> GlobalSeqNum: <sequenceの数>Offset Max: <最大サポートヒープサイズ> Page Size Small: <SmallPageサイズ> Page Size Medium: <MediumPageサイズ> ZGC Metadata Bits: Good: <カラーポインタ用ビットマスク> Bad: <カラーポインタ用ビットマスク> WeakBad: <カラーポインタ用ビットマスク> Marked: <カラーポインタ用ビットマスク>Remapped: <カラーポインタ用ビットマスク>
- 注※
-
Linuxの場合に出力されます。
-
ZGC以外の使用時(JDK21以降の場合)
GC Precious Log: CardTable entry size: <カードサイズ> Card Set container configuration: InlinePtr #cards <カード枚数> size <バイト数> Array Of Cards #cards <カード枚数> size <バイト数> Howl #buckets <バケット数> coarsen threshold <閾値> Howl Bitmap #cards <カード枚数> size <バイト数> coarsen threshold <閾値> Card regions per heap region <カード領域数> cards per card region <カード枚数>※8 CPUs: <システム全体のCPU数> total, <利用可能CPU数> available Memory: <物理メモリ量> Large Page Support: <UseLargePagesオプションの設定有無> NUMA Support: <UseNUMAオプションの設定有無> NUMA Nodes: <NUMAノード数>※1 Compressed Oops: <UseCompressedOopsオプションの設定有無> (<圧縮オブジェクトポインタ機能のモード>) Heap Region Size: <リージョンサイズ>※2 Heap Min Capacity: <ヒープサイズの最小値> Heap Initial Capacity: <ヒープサイズの初期値> Heap Max Capacity: <ヒープサイズの最大値> Pre-touch: <AlwaysPreTouchオプションの設定有無> Parallel Workers: <ParallelGCThreadsオプションの値>※3 Concurrent Workers: <ConcGCThreadsオプションの値>※4 Concurrent Refinement Workers: <G1ConcRefinementThreadsオプションの値>※2,※5 Periodic GC: <G1PeriodicGCIntervalオプションの設定有無>※2 Periodic GC Interval: <G1ConcRefinementThreadsオプションの値>ms※2,※6 String Deduplication is enabled※7
- 注※1
-
UseNUMAオプションが有効の場合に出力されます。
- 注※2
-
UseG1GCオプションが有効の場合に出力されます。
- 注※3
-
ParallelGCThreadsオプションの値が1以上の場合に出力されます。
- 注※4
-
ConcGCThreadsオプションの値が1以上の場合に出力されます。
- 注※5
-
G1ConcRefinementThreadsオプションの値が1以上の場合に出力されます。
- 注※6
-
G1PeriodicGCIntervalオプションの値が1以上の場合に出力されます。
- 注※7
-
UseStringDeduplicationオプションが有効の場合に出力されます。
- 注※8
-
G1GCを使用している場合に出力されます。
-
ZGCの使用時(JDK21以降の場合)
GC Precious Log: NUMA Support: <UseNUMAオプションの設定有無> CPUs: <システム全体のCPU数> total, <利用可能CPU数> available Memory: <物理メモリ量> Large Page Support: <UseLargePagesオプションの設定有無> GC Workers: <GC Workerスレッドの数> Address Space Type: <ヒープの仮想メモリの状態> Address Space Size: <ヒープの仮想メモリサイズ> Heap Backing File: /memfd:<ファイル名>※ Heap Backing Filesystem: <ファイルシステム> (アドレス) ※ Min Capacity: <ヒープサイズの最小値> Initial Capacity: <ヒープサイズの初期値> Max Capacity: <ヒープサイズの最大値>Medium Page Size: <MediumPageサイズ> Pre-touch: <AlwaysPreTouchオプションの設定有無> Available space on backing filesystem: <ファイルシステム>※ Uncommit: <ZUncommitオプションの設定有無> Uncommit Delay: <ZUncommitDelayオプションの値> Runtime Workers: <Runtime Workerスレッドの数> ZGC Globals: GlobalPhase: <フェイズの状態> GlobalSeqNum: <sequenceの数>Offset Max: <最大サポートヒープサイズ> Page Size Small: <SmallPageサイズ> Page Size Medium: <MediumPageサイズ> ZGC Metadata Bits: Good: <カラーポインタ用ビットマスク> Bad: <カラーポインタ用ビットマスク> WeakBad: <カラーポインタ用ビットマスク> Marked: <カラーポインタ用ビットマスク>Remapped: <カラーポインタ用ビットマスク>
- 注※
-
Linuxの場合に出力されます。
-
ヒープ情報
次の内容が出力されます。この内容は,JavaVMで拡張された出力内容です。
Heap※ <Javaヒープ情報>
- 注※
-
見出し部分は拡張スレッドダンプとエラーリポートファイルで次のように異なります。
拡張スレッドダンプの場合
Heap Status
-----------
エラーリポートファイルの場合
Heap
(27) ZGCページ情報
ZGCを使用している場合,次の内容が出力されます。
-
JDK17の場合
ZGC Page Table: <ページの種類>l <開始アドレス> <先頭アドレス> <終了アドレス> <AllocatingまたはRelocatable> ZbarrierSet
-
JDK21以降の場合
ZGC Page Table: <ページの種類>l <開始アドレス> <先頭アドレス> <終了アドレス> <AllocatingまたはRelocatable> XbarrierSet
(28) G1GC領域情報
G1GCを使用している場合,次の内容が出力されます。
Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, TAMS=top-at-mark-start, PB=parsable bottom |<id>|<開始アドレス>, <現在の使用アドレス>, <終了アドレス>|<使用率>%|<リージョンの種類>| |TAMS <マークフェーズ開始アドレス>| PB <解析可能な開始アドレス>| < Untracked/Updating/Complete > :
(29) Card tableマップアドレスの表示
次の内容が出力されます。ただし,ZGCを使用している場合は出力されません。
Card table byte_map: [<アドレス>,<アドレス>] byte_map_base: <アドレス>
(30) マークビット情報
G1GCが,どのメモリ領域に対してマークビットを使ってオブジェクトの生存状態を追跡しているかの情報が出力されます。G1GCを使用している場合に次の内容が出力されます。
Marking Bits: (CMBitMap*) <CMBitMap構造体のメモリアドレス> Bits: [<開始アドレス>, <終了アドレス>)
(31) Polling pageアドレスの表示
次の内容が出力されます。
Polling page: <アドレス>
(32) Large pages 確保失敗情報
mmap()関数でのメモリ確保に失敗した場合に,失敗回数が出力されます。
Large page allocation failures have occurred <回数> times
(33) Metaspace情報
次の内容が出力されます。JDKのバージョンによって出力内容が異なります。
-
JDK11の場合
Metaspace: Usage: Non-class: <合計サイズ> capacity, <使用サイズ> (<使用率>) used, <空きサイズ> (<空きサイズの割合>) free+waste, <オーバーヘッドサイズ> bytes (<オーバーヘッドサイズの割合>※1) overhead. Class: <合計サイズ> capacity, <使用サイズ> (<使用率>) used, <空きサイズ> (<空きサイズの割合>) free+waste, <オーバーヘッドサイズ> bytes (<オーバーヘッドサイズの割合>) overhead. Both: <合計サイズ> capacity, <使用サイズ> (<使用率>) used, <空きサイズ> (<空きサイズの割合>) free+waste, <オーバーヘッドサイズ> bytes (<オーバーヘッドサイズの割合>) overhead. Virtual space: Non-class space: <予約済みサイズ> reserved, <コミット済みサイズ> (<予約済みサイズの割合>) committed Class space: <予約済みサイズ> reserved, <コミット済みサイズ> (<予約済みサイズの割合>) committed Both: <予約済みサイズ> reserved, <コミット済みサイズ> (<予約済みサイズの割合>) committed Chunk freelists: Non-Class: <空きチャンクサイズ> Class: <空きチャンクサイズ> Both: <空きチャンクサイズ> -
JDK17以降の場合
Metaspace: Usage: Non-class: <使用サイズ> used. Class: <使用サイズ> used. Both: <使用サイズ> used. Virtual space: Non-class space: <予約済みサイズ> reserved, <コミット済みサイズ> (<予約済みサイズの割合>) committed, <ノード数> nodes. Class space: <予約済みサイズ> reserved, <コミット済みサイズ> (<予約済みサイズの割合>) committed, <ノード数> nodes. Both: <予約済みサイズ> reserved, <コミット済みサイズ> (<予約済みサイズの割合>) committed. Chunk freelists: Non-Class: <空きチャンクサイズ> Class: <空きチャンクサイズ> Both: <空きチャンクサイズ> MaxMetaspaceSize: <サイズの上限値> Initial GC threshold: <GC発生のしきい値となるサイズ(初期値)> Current GC threshold: <GC発生のしきい値となるサイズ(現在の値)> CDS: <クラスデータ共有の設定値> MetaspaceReclaimPolicy: <MetaspaceReclaimPolicyオプションの値> - commit_granule_bytes: <コミットする粒度(バイト単位))>. - commit_granule_words: <コミットする粒度(ワード単位))>. - virtual_space_node_default_size: <VirtualSpaceNodeのデフォルト値>. - enlarge_chunks_in_place: <チャンクサイズの拡張有無>. - new_chunks_are_fully_committed: <完全コミットフラグ>. - uncommit_free_chunks: <コミット解除フラグ>. - use_allocation_guard: <メモリ保護フラグ>. - handle_deallocations: <メモリ解除フラグ>. Internal statistics: num_allocs_failed_limit: <メモリ割り当てに失敗した回数>. num_arena_births: <生成したMetaspaceArenaの数>. num_arena_deaths: <削除したMetaspaceArenaの数>. num_vsnodes_births: <生成したVirtualSpaceNodeの数>. num_vsnodes_deaths: <生成したVirtualSpaceNodeの数>. num_space_committed: <コミット回数>. num_space_uncommitted: <コミット解除回数>. num_chunks_returned_to_freelist: <チャンクを空リストに戻した回数>. num_chunks_taken_from_freelist: <空リストからチャンクを取得した回数>. num_chunk_merges: <チャンクをマージした回数>. num_chunk_splits: <チャンクを分割した回数>. num_chunks_enlarged: <チャンクを拡張した回数>. num_purges: <パージした回数>. num_inconsistent_stats: <統計した回数>.
(34) CodeCache情報
次の内容が出力されます。
CodeCache: size=<全体サイズ> used=<使用済みサイズ> max_used=<最大サイズ> free=<空きサイズ>
bounds [<bottom>, <commit addr>, <reserve addr>]
total_blobs=<CodeBlobの総数> nmethods=<nmethodsの総数> adapters=<adapterの総数>
compilation: <enabled/disabled>
stopped_count=<コンパイラ停止回数>, restarted_count=<コンパイラ再開回数>
full_count=<コードキャッシュ領域が枯渇した回数>
(35) Event情報
イベントバッファの内容がすべて出力されます。
<イベント種別名> (<イベント数> events): <イベントレコード> :
イベント情報はリングバッファで管理していて,イベント種別ごとに保持するイベント数の最大値は10です。イベント数が0の場合は<イベントレコード>には"No events"が出力されます。
出力できる<イベント種別>の出力例を次に示します。
-
Compilation events(JDK17以前の場合)
JITコンパイル情報
Compilation events (10 events): Event: 0.923 Thread 0x00002aaab2f01800 389 b java.io.FileOutputStream::write (12 bytes) Event: 0.923 Thread 0x00002aaab2f01800 nmethod 389 0x00002aaaac3ea490 code [0x00002aaaac3ea5e0, 0x00002aaaac3ea668] :
-
GC Heap History(JDK17以前の場合)
before GC,after GC情報
GC Heap History (4 events): Event: 23.719 GC heap before {Heap before GC invocations=0 (full 0): def new generation max 154880K, total 9664K, used 345K (0.2% used/max, 3.6% used/total) : -
Dll operation events(JDK21以降の場合)
ロードしたDLL情報
Windowsの場合に出力されます。
Dll operation events (6 events): Event: 0.008 Loaded shared library <URL> Event: 0.064 Loaded shared library <URL> :
-
Deoptimization events(JDK17以前の場合)
Deopt情報
Deoptimization events (10 events): Event: 0.818 Thread 0x00002aaaaba7e000 Uncommon trap 24 fr.pc 0x00002aaaac3d1eec Event: 0.818 Thread 0x00002aaaaba7e000 Uncommon trap 54 fr.pc 0x00002aaaac3d0dd8 :
-
Classes loaded(JDK21以降の場合)
ロードしたクラス情報
Classes loaded (20 events): Event: 0.179 Loading class java/security/AllPermission Event: 0.179 Loading class java/security/AllPermission done :
-
Classes unloaded(JDK17以降の場合)
アンロードしたクラス情報
Classes unloaded (20 events): Event: 18.331 Thread 0x0000027bd4519370 Unloading class 0x0000000800c00400 'Test' Event: 18.337 Thread 0x0000027bd4519370 Unloading class 0x0000000800c00400 'Test' Event: 18.342 Thread 0x0000027bd4519370 Unloading class 0x0000000800c00400 'Test' :
-
Classes redefined
クラス再定義情報
Classes redefined (3 events): Event: 0.297 Thread 0x000000517b7b2800 redefined class name=foo.Foo, count=1 Event: 0.303 Thread 0x000000517b7b2800 redefined class name=foo.Foo, count=2 Event: 0.310 Thread 0x000000517b7b2800 redefined class name=foo.Foo, count=3 :
-
Internal exceptions(JDK17以前の場合)
internal exception情報
Internal exceptions (2 events): Event: 0.025 Thread 0x00002aaaaba7e000 Threw 0x00000000db606140 at /hotspot/src/share/vm/prims/jni.cpp:4008 Event: 0.061 Thread 0x00002aaaaba7e000 Threw 0x00000000db649980 at /hotspot/src/share/vm/prims/jvm.cpp:1167 :
-
ZGC Phase Switch(JDK21以降の場合)
ZGCのカラーポインタのカラー変更情報
ZGC Phase Switch (30 events): Event: 0.150 Young Mark Start 2 Event: 0.150 Old Mark Start 2 Event: 0.151 Young Mark End 2 Event: 0.157 Young Relocate Start 2 Event: 0.158 Old Mark End 2 Event: 0.226 Old Relocate Start 2 :
-
VM Operations(JDK17以降の場合)
VMオペレーションの情報
VM Operations (20 events): Event: 18.383 Executing VM operation: G1CollectFull Event: 18.387 Executing VM operation: G1CollectFull done Event: 18.389 Executing VM operation: G1CollectFull :
-
Events(JDK17以前の場合)
クラスローダ情報など
Events (10 events): Event: 0.080 loading class 0x00002aaab302e990 Event: 0.080 loading class 0x00002aaab302e990 done Event: 4.286 Executing VM operation: EnableBiasedLocking Event: 4.286 Executing VM operation: EnableBiasedLocking done :
(37) ネイティブデコーダ
dll(windbg.dll),およびシンボルハンドラの情報が出力されます。Windowsの場合に,次の内容が出力されます。
dbghelp: <ロードの状態> - version: <Imagehlpのバージョン> - missing functions: <ロードに失敗した関数名> symbol engine: <初期化の状態> - sym options: <オプションマスク> - pdb path: <PDBのパス>
(38) コマンドおよびVMパラメタ
次の内容が出力されます。この内容は,JavaVMで拡張された出力内容です。
Command : <コマンドライン> Java Home Dir : <JDK実行環境インストールディレクトリ> Java DLL Dir : <JDKのライブラリインストールディレクトリ> Sys Classpath : <システムクラスパス> User Args : <コマンドオプション1> <コマンドオプション2> :
(39) フラグ
デフォルト値と異なるJVMのフラグ情報が出力されます。例えば,コマンドライン引数に指定した場合やJVM内部で動的に設定された場合が該当します。
[Global flags] <フラグ情報> :
(40) WhiteBox API
WhiteBox APIを使用している場合,使用している旨の警告メッセージが出力されます。
Unsupported internal testing APIs have been used.
(43) 登録済みシグナルハンドラ
次の内容が出力されます。
Signal Handlers: <シグナル種別>: [<シグナルハンドラアドレス>], sa_mask[0]=<シグナルマスク>, sa_flags=<特殊フラグ> : Changed Signal Handlers - <シグナル種別>: [<シグナルハンドラアドレス>], sa_mask[0]=<シグナルマスク>, sa_flags=<特殊フラグ> :
- 出力内容の意味は次のとおりです。
-
-
<シグナル種別>:/usr/include/sys/signal.hに定義されているシグナル名です。
-
<シグナルハンドラアドレス>:シグナルハンドラのアドレスが16進で出力された値です。「ライブラリ名+オフセット」という形式で表示されることもあります。
-
<シグナルマスク>:sigaction()で取り出せる構造のsa_maskフィールド値が16進で出力された値です。
-
<特殊フラグ>:sigaction()で取り出せる構造のsa_flagsフィールド値が16進で出力された値です。
-
(44) ネイティブメモリトラッキング情報
次の内容は,-XX:NativeMemoryTracking=[summary|detail]オプションを指定した場合に出力されます。
Native Memory Tracking: Total: reserved=<reservedサイズ>KB, committed=<committedサイズ>KB :
(45) TRIM機能使用情報(JDK21以降の場合)
次の内容が出力されます。
Periodic native trim enabled (interval: <インターバル> ms)
- 注
-
TRIM機能を使えない場合,「Periodic native trim disabled」が出力されます。
(46) ダイレクトバッファ情報(JDK17以降の場合)
ダイレクトバッファの使用状況が出力されます。
Direct Buffer: Used : <使用サイズ> Total: <合計容量> Max : <最大サイズ> Count: <バッファ数> <使用サイズ> : ダイレクトバッファの使用サイズ <合計容量> : ダイレクトバッファの合計容量 <最大サイズ> : ダイレクトバッファの最大値 <バッファ数> : ダイレクトバッファの数
(47) マシン情報
次の内容が出力されます。この内容は,JavaVMで拡張された出力内容です。
Host: <ホスト名>:<IPアドレス>
- 注
-
<IPアドレス>には複数のIPアドレスが表示されることがあります。
(48) システム名,CPU,実メモリ,およびVM情報
次の内容が出力されます。
-
WindowsかつJDK11の場合
OS: <OSバージョン> CPU: total <CPU数> <CPU概要> Memory: <実メモリ情報> <プロセスのメモリ統計情報> vm_info: <VM情報>
-
WindowsかつJDK17の場合
OS: <OSバージョン> OS uptime: <システム起動時からの経過時間> CPU: total <CPU数> <CPU概要> Memory: <実メモリ情報> <プロセスのメモリ統計情報> vm_info: <VM情報>
-
WindowsかつJDK21以降の場合
OS: <OSバージョン> OS uptime: <システム起動時からの経過時間> <仮想化情報> CPU: total <CPU数> <CPU概要> Memory: <実メモリ情報> <プロセスのメモリ統計情報> vm_info: <VM情報>
-
UNIXかつJDK11の場合
OS: <OSバージョン> uname:<uname出力> libc:<libcのバージョン番号> rlimit: <リミット値> load average:<ロードアベレージ> /proc/meminfo: </proc/meminfoの内容> CPU:total <CPU数> <CPU概要> CPU Model and flags from /proc/cpuinfo: <model nameの内容> <flagsの内容> Memory: <実メモリ情報> vm_info: <VM情報>
-
UNIXかつJDK17の場合
OS: <OSバージョン> uname:<uname出力> OS uptime: <システム起動時からの経過時間> libc:<libcのバージョン番号> rlimit (soft/hard): <リミット値> load average:<ロードアベレージ> /proc/meminfo: </proc/meminfoの内容> /sys/kernel/mm/transparent_hugepage/enabled: </sys/kernel/mm/transparent_hugepage/enabledの内容> /sys/kernel/mm/transparent_hugepage/defrag (defrag/compaction efforts parameter): </sys/kernel/mm/transparent_hugepage/defragの内容> Process Memory: <プロセスのメモリ情報> /proc/sys/kernel/threads-max (system-wide limit on the number of threads): </proc/sys/kernel/threads-maxの内容> /proc/sys/vm/max_map_count (maximum number of memory map areas a process may have): </proc/sys/vm/max_map_countの内容> /proc/sys/kernel/pid_max (system-wide limit on number of process identifiers): </proc/sys/kernel/pid_maxの内容> container (cgroup) information: <コンテナ情報> CPU:total <CPU数> <CPU概要> CPU Model and flags from /proc/cpuinfo: <model nameの内容> <flagsの内容> <CPUに関する追加情報> Memory: <実メモリ情報> vm_info: <VM情報>
-
UNIXかつJDK21以降の場合
OS: <OSバージョン> uname:<uname出力> OS uptime: <システム起動時からの経過時間> libc:<libcのバージョン番号> rlimit (soft/hard): <リミット値> load average:<ロードアベレージ> /proc/meminfo: </proc/meminfoの内容> /sys/kernel/mm/transparent_hugepage/enabled: </sys/kernel/mm/transparent_hugepage/enabledの内容> /sys/kernel/mm/transparent_hugepage/defrag (defrag/compaction efforts parameter): </sys/kernel/mm/transparent_hugepage/defragの内容> Process Memory: <プロセスのメモリ情報> /proc/sys/kernel/threads-max (system-wide limit on the number of threads): </proc/sys/kernel/threads-maxの内容> /proc/sys/vm/max_map_count (maximum number of memory map areas a process may have): </proc/sys/vm/max_map_countの内容> /proc/sys/kernel/pid_max (system-wide limit on number of process identifiers): </proc/sys/kernel/pid_maxの内容> container (cgroup) information: <コンテナ情報> <仮想化情報> CPU:total <CPU数> <CPU概要> CPU Model and flags from /proc/cpuinfo: <model nameの内容> <flagsの内容> <CPUに関する追加情報> Memory: <実メモリ情報> vm_info: <VM情報>
(49) javatrace起動コマンドのコマンドライン(UNIXの場合)
次の内容が出力されます。この内容は,JavaVMで拡張された出力内容です。
# You can get further information from javatrace.log file generated # by using javatrace command. # usage: javatrace core-file-name loadmodule-name [out-file-name] [-l(library-name)...] # Please use javatrace command as follows and submit a bug report # to Hitachi with javatrace.log file: #[<インストールディレクトリ>/bin/javatrace <coreファイル> <ロードモジュール>]