2016-06-17 21 views
1

多くの情報源に記載されているように、私はjava -Xms512mをコマンドラインから使用して、Javaマシンのヒープの最大サイズを512Mbに設定しようとしています。 しかし、何かがうまくいかないと、私はプログラムから直接チェックするように、コマンドラインでは、以下の
enter image description here最大Javaヒープサイズの変更

を示し、: long heapMaxSize = Runtime.getRuntime().maxMemory(); heapMaxSizeは約1GBです954728448に等しいです。

+2

あなたのイメージは巨大です。スクリーンショットを取り返し、小さいバージョンをアップロードすることを検討してください。 – erip

答えて

3

これはVMパラメータと呼ばれ、VM(JVM)を起動するときに指定する必要があります。

あなたは、あなたのプログラムの実行としての最大ヒープサイズを指定することがあります。

java -Xmx1024m -jar yourJar.jar 

またはその代わりに、あなたのシステムJAVA_OPTSに環境変数を設定することができますし、それが起動すると、JVMが設定を尊重します:

2番目の質問については、Runtime.getRuntime().maxMemory()と友人によって返される値を明確にするため、What are Runtime.getRuntime().totalMemory() and freeMemory()?を参照します。

+0

それは 'JAVA_OPTS'を追加すると思いますか? – erip

+0

@erip私はあなたが正しいと信じています。私もそれを追加します。 – SnakeDoc

+0

-Xmxを-jarの直後に置くことができないと確信しています。 –

1
  • -Xmx<size>:Javaヒープの最大サイズ(若い世代+古い世代)
  • -Xms<size>:Javaヒープの初期サイズ(若い世代+古い世代)
  • -Xmn<size>:若い世代のヒープのサイズスペース

あなたが直面している問題が-Xmsに関連していない、それは確かにあなたがメインクラスとjarファイルを提供する必要があり、あなたのjavaコマンドが不完全であるという事実によるものですMETA-INF/MANIFEST.MFに定義されているか、または起動するクラスのFQNを指定します。

関連する問題