JVM起動時の-Xms、-Xmxパラメータとは何ですか?

JVMでのXmsXmxパラメータの使い方について教えてください。また、これらのパラメータのデフォルト値は何ですか?

ソリューション

フラグ 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内部のデータ構造と同様に、ヒープとは別のメモリに割り当てられます。

解説 (9)

コマンド java -X を実行すると、すべての -X オプションのリストが表示されます。

C:\Users\Admin>java -X
-Xmixed           mixed mode execution (default)
-Xint             interpreted mode execution only
-Xbootclasspath:
                      set search path for bootstrap classes and resources
-Xbootclasspath/a:
                      append to end of bootstrap class path
-Xbootclasspath/p:
                      prepend in front of bootstrap class path
-Xdiag            show additional diagnostic messages
-Xnoclassgc       disable class garbage collection
-Xincgc           enable incremental garbage collection
-Xloggc:    log GC status to a file with time stamps
-Xbatch           disable background compilation
-Xms        set initial Java heap size.........................
-Xmx        set maximum Java heap size.........................
-Xss        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オプションは非標準であり、予告なく変更されることがあります。

これが、XmsXmxをはじめとする様々な事柄を理解する助けになれば幸いです。)

解説 (0)

この質問自体はすでに上で述べたとおりです。 デフォルト値の一部を追加しただけです。

http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html の通りです。

Xmx のデフォルト値は、プラットフォームやシステムで利用可能なメモリ量によって異なります。

解説 (1)