8.4.2 Cヒープが不足した場合
Cヒープが不足した場合,次の順序でメッセージ出力およびダンプ出力,またはcoreダンプの生成が実行されます。
-
Cヒープ不足を示すメッセージログが,エラーリポートファイルおよび標準出力に出力されます。
-
1.の実行中にメモリ不足が発生した場合,簡易メッセージが標準出力に出力されます。
-
簡易メッセージの出力処理中にさらにメモリ不足が発生したときに,メッセージおよびエラーログファイルの出力処理を中止して,coreダンプを生成します。
それぞれの出力形式を次に示します。
(1) Cヒープ不足を示すメッセージログの出力内容
Cヒープ不足を示すメッセージログの出力形式を次に示します。この形式は,エラーリポートファイルと標準出力で共通です。
Exception in thread <ThreadName> java.lang.OutOfMemoryError: requested <n> bytes [for <message>].
Memory Status
-------------
maximum size of data segment
soft(current) limit :getrlimit(RLIMIT_DATA)で取得したソフトリミット値 kbytes (16進数)
hard limit :getrlimit(RLIMIT_DATA)で取得したハードリミット値 kbytes (16進数)
current end of the heap :sbrk(0)によって取得した値
JVM allocation size by malloc :JavaVMが割り当てたメモリサイズ kbytes (16進数)
malloc information
total space in arena :mallinfo.arenaの値
number of ordinary blocks :mallinfo.ordblksの値
number of small blocks :mallinfo.smblksの値
number of holding blocks :mallinfo.hblksの値
space in holding block headers :mallinfo.hblkhdの値
space in small blocks in use :mallinfo.usmblksの値
space in free small blocks :mallinfo.fsmblksの値
space in ordinary blocks in use :mallinfo.uordblksの値
space in free ordinary blocks :mallinfo.fordblksの値
cost of enabling keep option :mallinfo.keepcostの値
Heap Status
-----------
<Javaヒープ情報>
-----------
Stack Trace
-----------
<スタックトレース>
-----------
JVM Internal Memory Status
--------------------------
<独自メモリ管理機能で管理している領域情報>このようなメッセージが出力された場合は,Cヒープを減らすなど,適切な対策をしてください。
出力項目について次に示します。