87

環境変数を使用して Java の最小および最大ヒープ サイズを設定するにはどうすればよいですか?

Java の起動時にヒープ サイズを設定できることはわかっていますが、サーバーの環境変数を使用してこれを調整したいと考えています。

4

7 に答える 7

87

環境変数を直接使用してそれを行うことはできません。java コマンドに渡される一連の「非標準」オプションを使用する必要があります。詳細については、java -X を実行してください。探しているオプションは -Xmx と -Xms です (これは「初期」ヒープ サイズなので、おそらく探しているものです。)

Ant や Tomcat などの一部の製品には、JAVA_OPTS 環境変数を検索するバッチ スクリプトが付属している場合がありますが、これは Java ランタイムの一部ではありません。これらの製品のいずれかを使用している場合は、次のように変数を設定できる場合があります。

set JAVA_OPTS="-Xms128m -Xmx256m"  

次のような独自のコマンドラインでこのアプローチを取ることもできます。

set JAVA_OPTS="-Xms128m -Xmx256m"  
java ${JAVA_OPTS} MyClass
于 2009-01-06T16:32:34.243 に答える
17

実際、環境変数を介して Sun の JVM のグローバルなデフォルトを設定する方法があります。

コマンド ライン引数に追加せずに JVM を起動するたびに有効になるように、Java システム プロパティを設定する方法を参照してください。

于 2012-10-04T08:18:14.890 に答える
10

環境変数を使用してそれを行うことはできません。これは、「非標準」オプションを介して行われます。実行:java -X詳細については。探しているオプションは-Xmxandです-Xms(これは「初期」ヒープ サイズなので、おそらく探しているものです。)

于 2009-01-06T16:21:49.570 に答える
4

あなたの唯一のオプションは、環境変数をコマンドラインに置き換えるスクリプトでjavaをラップすることだと思います

于 2009-01-06T16:26:52.197 に答える
3

いくつかのメモ:

  1. Apache ant は JAVA_OPTS について何も知りませんが、Tomcat の起動スクリプトは知っています。Apache ant の場合、ANT_OPTS を使用して、/ant/ を実行する JVM の環境に影響を与えますが、ant が起動する可能性のあるものには影響しません。

  2. 設定できる最大ヒープ サイズは環境に完全に依存します。ほとんどの 32 ビット システムでは、使用可能なメモリに関係なく、要求できるヒープ領域の最大量は 2GiB の範囲です。64 ビット システムでの最大のヒープは「非常に大きい」です。また、ヒープは JVM によって管理されており、ディスクへの大量のスワップは必要ないため、実際には物理メモリによっても制限されます。

  3. サーバー環境では、通常、-Xms と -Xmx を同じ値に設定します。これにより、ヒープのサイズが特定のサイズに固定され、ガベージ コレクターが行う作業が少なくなります。サイズ。

于 2010-02-18T15:55:28.260 に答える