2017-07-06 12 views
0

.jarファイルを呼び出すときに、batファイルのJVMヒープメモリ引数を指定する必要がありますか?例えばJVMヒープメモリ

: 開始/ B "" "jre7の\ビンの\ javaw.exeの" -Xmx1G -jar XYZ.jar

私は(いくつかのマシンでは、私は明示的に引数を指定することをシナリオを持っています上記のように)、Javaの致命的な例外が生成されます。

enter image description here

エラーメッセージ: "Java仮想マシンランチャー: エラー:Java仮想マシンを作成できませんでした エラー:致命的な例外が発生したプログラムが終了します。"

しかし、引数を削除するとエラーは報告されません。 誰にでも教えてください。ありがとうございました。

+1

この致命的な例外はどういう意味ですか? –

+0

@JonSkeet:致命的な例外については、私の編集した説明を参照してください。 –

+0

いいえ、ヒープメモリ引数を指定する必要はありません。 1GBを指定するには、「1GB」ではなく「1g」または「1G」を使用する必要があります。たとえば、 '-Xmx1G'です。 [documentation](http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BABHDABI) – Jesper

答えて

0

Xmxは、Javaで使用できる最大ヒープサイズを指定するオプションの引数です。必須ではありません。

数値が大きすぎると、致命的な例外が発生することがあります。オプションを指定しない場合、javaは最大ヒープサイズを選択します。このデフォルト値はlinuxで 'java -XX:+ PrintFlagsFinal -version |'を実行すると見つけることができます。 grep MaxHeapSize '

0

Windows環境変数_JAVA_OPTIONSを更新し、そこにXmx1024Mを設定する必要があります。いったん完了したら、JVMをちょうど始めることができます。

+0

答えをありがとう。私が知りたかったのは、引数を指定しないと、JVM自体がメモリを割り当てられますか? –

+0

Windows上のJavaは、16メガバイトの初期サイズと最大64メガバイトを使用します。しかし、一度_JAVA_OPTIONSを設定すると、JVMが起動するたびに_JAVA_OPTIONSの値がjavaのコマンドラインにあるかのように解析されます。 JVisualVMを介して渡されたパラメータを見ることができます。したがって、_JAVA_OPTIONSに最小要件と最大要件を指定していれば、良い結果が得られます。 – Pulkit

+0

_JAVA_OPTIONSは機能しません! –

関連する問題