Hitachi

 Hitachi Application Server V10 定義リファレンスWindows®用)


7.8.6 -XX:[+|-]HitachiOutOfMemoryStackTrace

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

説明

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

出力形式
[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オプションが指定されている場合は出力されません。

reason

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

thread_count

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

stack_trace

スタックトレース

注※

例外発生要因種別を次に示します。

表7‒8 例外発生要因種別一覧

項番

要因メッセージ

説明

1

C Heap

Cヒープ確保時の例外

2

Java Heap

Javaヒープ確保時の例外

3

Meta Space

Metaspace確保時の例外

4

Compressed Class Space

Compressed Class Space確保時の例外

5

Unknown

上記例外を特定できない場合

6

Thread Limit

スレッド数の上限値設定機能(-XX:HitachiThreadLimitオプション)を指定した場合に、作成したスレッド数が指定した上限値を超えたときの例外

書式

-XX:[+|-]HitachiOutOfMemoryStackTrace

指定できる値

型:String

-XX:+HitachiOutOfMemoryStackTrace

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

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

-XX:-HitachiOutOfMemoryStackTrace

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

デフォルト値

定義項目の省略

-XX:-HitachiOutOfMemoryStackTrace

出力例

[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自身で作成するスレッドが、メモリー不足によってスレッドの作成に失敗した場合は、例外情報だけが出力されます。スタックトレースは出力されません。