-XX:[+|-]HitachiReserveSwapSpace(スワップ領域の予約オプション)
形式
- -XX:+HitachiReserveSwapSpace
- JavaVMの実行に必要となる最大のスワップ領域をすべて予約します。
- -XX:-HitachiReserveSwapSpace
- JavaVMの実行に必要となる最大のスワップ領域を予約しません。
説明
JavaVMの実行に必要となる最大のスワップ領域を,JavaVM起動時に,OSに対して予約するかどうかを指定します。
なお,必要となる最大のスワップ領域のサイズは,次の式で算出できます。
(-Xmx指定値)※1+(-XX:MaxMetaspaceSize指定値)※1+(JITコンパイルしたコードを格納する領域)※2 |
- 注※1
- -XmxおよびMaxMetaspaceSizeのデフォルト値は次のようになっています。
- ・-Xmx:64MB
- ・MaxMetaspaceSize:64MB
- 注※2
- HP-UX(IPF)の場合:128MB
- デフォルト値
- -XX:-HitachiReserveSwapSpace
注意事項
- JavaVMによって予約されたスワップ領域を,ほかのプロセスから利用(予約)できません。JavaVMがその領域を使用していなくても同様に利用できません。このため,JavaVMの実行中にスワップ領域の確保に失敗してJavaVMが停止することはありません。
- スワップ領域を予約できなかった場合は,標準出力に次のメッセージが出力され,終了します。
Error occurred during initialization of VM
Could not reserve enough space for object heap
- このオプションの指定値によって,JavaVMが異常終了した場合に生成されるcoreのサイズが変わることはありません。
- HP-UXの場合,このオプションを指定していないと,Javaの使用するディスク上のスワップ領域は,JavaVM起動時に確保されません。この場合,スワップ領域は実行中に必要に応じて確保されるため,スワップ領域が不足すると実行が中断されることがあります。このため,システム管理マネージャなどで,-Xmxオプションの指定値以上のスワップ領域をディスク上に確保しておくことをお勧めします。
また,このオプションを指定していると,Javaの使用するディスク上のスワップ領域は,JavaVM起動時にすべて確保されます。この場合,Javaプログラム実行中にスワップ領域が不足することはありません。ただし,-Xmxオプションに必要のない大きな値を指定すると,スワップ領域が確保できなくて次のような現象が発生するため,注意してください。
- JavaVMの起動に失敗する
- ほかのプロセスがスワップ領域を確保できなくなる
JavaVM起動時に確保されるスワップ領域のサイズは,次の見積もり式で算出できます。
スワップ領域のサイズ=-Xmxオプション値+-XX:MaxMetaspaceSizeオプション値+128MB