Hitachi

Cosminexus V11 アプリケーションサーバ リファレンス 定義編(サーバ定義)


-XX:[+|-]HitachiOutOfMemoryStackTrace(スタックトレース出力オプション)

〈このページの構成〉

形式

-XX:+HitachiOutOfMemoryStackTrace

OutOfMemoryError発生時に,例外情報とスタックトレースをJavaVMログファイルに出力します。

スタックトレースは1スタックごとにバッファに格納し,コード変換した後に出力します。スタックトレースの出力は,OutOfMemoryErrorがスローされるたびに行われるため,OutOfMemoryErrorをキャッチして再スローした場合には複数回出力されます。なお,スレッド作成時にOutOfMemoryErrorとなった場合は,スタックトレースは出力されません。

-XX:-HitachiOutOfMemoryStackTrace

OutOfMemoryError発生時に,スタックトレースをJavaVMログファイルに出力しません。

説明

OutOfMemoryError発生時に,例外情報とスタックトレースをJavaVMログファイルに出力するかどうかを指定します。

デフォルト値
  • -XX:-HitachiOutOfMemoryStackTrace

出力形式

[id] [Thread:thread_id]<date>[java.lang.OutOfMemoryError : requested size bytes (cause) : reason : thread_count threads exist]
[id] [Thread:thread_id] stack_trace

出力内容を次に説明します。

id

OOM(JavaVMログファイル識別子)。

thread_id

スレッドID(スレッドダンプに出力されているtid)。

date

OutOfMemory例外発生日時。

size

確保しようとしたメモリのサイズ(単位:バイト)が出力されます。-XX:-HitachiOutOfMemorySizeオプションが指定されている場合,出力されません。

なお,次の場合は要求したメモリサイズが取り出せません。これらの場合は,サイズとして「unknown」が出力されます。

  • Javaのメモリ確保機能を使用しないで,明示的にOutOfMemoryErrorをスローした場合

    標準クラスライブラリによってスローされるものも含みます。例えば,「throw new OutOfMemoryError();」などの処理によってスローされた場合,メモリサイズは出力できません。

  • クラスロード時のverifierによってOutOfMemoryErrorが発生した場合

cause

例外発生要因種別。ただし,-XX:-HitachiOutOfMemoryCauseオプションが指定されている場合は出力されません。例外発生要因種別については,「-XX:[+|-]HitachiOutOfMemoryCause(例外発生要因種別出力オプション)」を参照してください。

reason

例外発生理由。スレッドの作成に失敗した場合に出力されます。

thread_count

OutOfMemoryError発生時のスレッド数。作成に失敗したスレッド数も含みます。

stack_trace

スタックトレース

出力例

[OOM][Thread: 0x00062fd0] <Wed Mar 17 00:41:17 2004>[java.lang.OutOfMemoryError :requested 400000 bytes.(C Heap): unable to create thread : 1500 threads exist]
[OOM][Thread: 0x00062fd0] at java.lang.Thread.start(Native Method)
[OOM][Thread: 0x00062fd0] at sub1.<init>(Thread0012.java:22)
[OOM][Thread: 0x00062fd0] at Thread0012.test01(Thread0012.java:73)
[OOM][Thread: 0x00062fd0] at Thread0012.main(Thread0012.java:57)

注意事項

JavaVM自身で作成するスレッドが,メモリ不足によってスレッドの作成に失敗した場合は,例外情報だけが出力されます。スタックトレースは出力されません。