Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 拡張編


7.14.1 Javaヒープの初期サイズと最大サイズの設定

Javaヒープの初期サイズ(-Xms)と最大サイズ(-Xmx)には,必ず同じ値を指定してください。同じ設定でない場合,CopyGCの回数が増加するおそれがあります。

なお,この設定は,明示管理ヒープ機能を使用しない場合にも推奨の設定です。

補足:

Javaヒープの初期サイズと最大サイズが異なる場合,各領域のサイズは,次のタイミングで変更されます。

  • CopyGC終了時

    New領域のサイズが動的に変更されます。

  • FullGC終了時

    Tenured領域とNew領域のサイズが動的に変更されます。

New領域のサイズは,主にTenured領域のサイズと-XX:NewRatioオプションに指定した値によって決まります。

明示管理ヒープ機能によってFullGCの発生が抑止されると,Tenured領域のサイズが変更されるタイミングがなくなります。これに伴って,New領域のサイズも,ほぼ一定になります。

このため,初期サイズよりも大きい最大サイズを定義していても,New領域が拡張されるタイミングがなくなり,初期サイズで指定したままのサイズになります。初期サイズで指定したNew領域が小さい場合,明示管理ヒープ機能を使用しない場合に比べて,CopyGCが多く発生するおそれがあります。