Interstage Application Server チューニングガイド |
目次 索引 |
第7章 JDK/JREのチューニング | > 7.2 FJVM |
FJVMでは、メモリ領域不足事象発生時に出力されるメッセージ情報の強化を行なっています。
これによりFJVMでは、メモリ領域不足事象が発生した場合に、java.lang.OutOfMemoryErrorの例外メッセージ情報に加え、不足した領域の種別情報を図1の形式で出力します。
The memory was exhausted area_name. Java heap size / max Java heap size = heap_size / max_heap_size Java perm size / max Java perm size = perm_size / max_perm_size |
area_name: |
メモリ領域不足事象が発生した領域の名前。
|
heap_size: |
メモリ領域不足事象が発生した際に使用中となっているメモリ割り当てプールのサイズ(単位:byte)。 |
max_heap_size: |
利用可能なメモリ割り当てプールの最大サイズ(単位:byte)。 |
perm_size: |
メモリ領域不足事象が発生した際に使用中となっているPermanent世代領域のサイズ(単位:byte)。 |
max_perm_size: |
利用可能なPermanent世代領域の最大サイズ(単位:byte)。 |
メモリ領域不足事象が発生した際に出力される各領域の使用中サイズ(heap_size、perm_size)には、メモリ領域不足の原因となったオブジェクトの大きさは含まれません。
そのため巨大サイズのオブジェクト生成要求などによりメモリ領域不足事象が発生した場合には、「最大サイズ」と「使用中サイズ」の差が大きい場合(空き領域がたくさんあるように見える場合)がありますので注意してください。
メモリ割り当てプールに対してメモリ領域不足事象が発生した場合に出力されるheap_sizeの値は、New世代領域での使用中サイズとOld世代領域での使用中サイズの合計値です。
New世代領域とOld世代領域は別々のオブジェクト格納域として管理・制御されますから、max_heap_sizeとheap_sizeの差の大きさが、そのまま生成要求できるオブジェクトの最大サイズにはなりませんので注意してください。
Exception in thread "main" java.lang.OutOfMemoryError The memory was exhausted on Java heap space. Java heap size / max Java heap size = 33554008 / 33554432 Java perm size / max Java perm size = 1374480 / 67108864 |
図2の出力例の場合、メモリ割り当てプールに対してメモリ領域不足が発生したことを確認することができます。
目次 索引 |