![Java。初期引数をオーバーライドするにはどうすればよいですか?](https://rvso.com/image/1497083/Java%E3%80%82%E5%88%9D%E6%9C%9F%E5%BC%95%E6%95%B0%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
Java アプリケーションで困っています。起動時に -Xmx 256m と Xss 2m を使用します。RAM が不足するとクラッシュし続けるため、より多くの RAM を使用するようにする必要があります。そのため、java -jar application.jar -Xmx 4G を使用します。
何も起こらず、組み込みの-Xmx 256mが引き続き使用されます。
このアプリケーションにさらに多くの RAM を割り当てるには、初期設定を上書きするにはどうすればよいですか?
答え1
まず、大文字X
の as-Xmx
と-Xss
;を使用すると-x
エラーになります。
次に、-X
や-D
などを含むすべての JVM オプションを、-jar jarname
使用する場合はその前に置き、使用しない場合はメインクラス名の前に置きます。run-jar または main-class の後の引数は、JVM によって解釈されるのではなく、Java プログラムに渡されます。
PS: 4G が必要な場合は、64 ビット Java (およびハードウェア) をお持ちであると想定/期待しています。