JVMでのXms
とXmx
パラメータの使い方について教えてください。また、これらのパラメータのデフォルト値は何ですか?
フラグ Xmx
は Java 仮想マシン (JVM) の最大メモリ割り当てプールを指定し、Xms
は初期メモリ割り当てプールを指定します。
つまり、JVMはXms
のメモリ量で起動され、Xmx
のメモリ量の最大値を使用することができるようになります。例えば、以下のようにJVMを起動すると、256 MBのメモリで起動し、プロセスは最大で2048 MBのメモリを使用することができます。
java -Xms256m -Xmx2048m
メモリフラグは、キロバイト、メガバイトなどの異なるサイズで指定することもできます。
-Xmx1024k
-Xmx512m
-Xmx8g
Xmsフラグにはデフォルト値がなく、
Xmxには通常、256 MB のデフォルト値があります。これらのフラグの一般的な使用方法は、
java.lang.OutOfMemoryError`に遭遇したときです。
これらの設定を使用する際には、これらの設定はJVMのヒープに対するものであり、JVMはヒープに割り当てられたサイズよりも多くのメモリを使用する可能性があることに留意してください。オラクルのドキュメント]1より。
JVMは、ヒープ以外にも多くのメモリを使用することに注意してください。例えば、Javaメソッド、スレッドスタック、ネイティブハンドルは、JVM内部のデータ構造と同様に、ヒープとは別のメモリに割り当てられます。
コマンド java -X
を実行すると、すべての -X
オプションのリストが表示されます。
C:\Users\Admin>java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xdiag show additional diagnostic messages
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size.........................
-Xmx<size> set maximum Java heap size.........................
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
-XshowSettings show all settings and continue
-XshowSettings:all show all settings and continue
-XshowSettings:vm show all vm related settings and continue
-XshowSettings:properties show all property settings and continue
-XshowSettings:locale show all locale related settings and continue
**-Xオプションは非標準であり、予告なく変更されることがあります。
これが、Xms
やXmx
をはじめとする様々な事柄を理解する助けになれば幸いです。)
この質問自体はすでに上で述べたとおりです。 デフォルト値の一部を追加しただけです。
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html の通りです。
Xmx のデフォルト値は、プラットフォームやシステムで利用可能なメモリ量によって異なります。