質問
私は 8 GB RAM を搭載した Windows 2003 サーバー (64 ビット) で作業しています。ヒープメモリの最大値を増やすにはどうすればよいですか?私が使用しているのは、 -Xmx1500m
フラグを使用してヒープ サイズを 1500 MB に増やします。ヒープ メモリを物理メモリの 75% (6 GB ヒープ) まで増やすことはできますか?
解決
あなたは、32ビットシステム上で4ギガバイトに増やすことができます。あなたは64ビットシステムにしている場合は、より高い行くことができます。心配する必要はありませんあなたは間違って選択した場合、あなたは32ビットシステムのJava上で5グラムを求める場合は、無効な値に文句を言うと終了します。
他の人が投稿しているとおり、、CMDラインフラグを使用します - 例えば
java -Xmx6g myprogram
あなたがタイピングのjava -Xで(とにかく、またはほぼ完全なリスト)完全なリストを取得することができます。
他のヒント
コマンドラインオプションを使用して、JVMによって割り当てられたヒープサイズを大きくすることができます ここで私たちが持っている3つのオプション
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
java -Xms16m -Xmx64m ClassName
上記の行では、16メガバイトと64メガバイト最大ヒープ
に最小ヒープを設定することができです。大きなヒープサイズを使用するには、64ビットJVMを使用する必要があります。次のことを試してください:
のjava -Xmx6144M -d64
これは、64ビットモードで実行するJVMに指示として-d64フラグが重要である。
直接日食にJVMによって割り当てられたヒープサイズを大きくすることができます Eclipse IDEはgoto
ファイル名を指定して実行---->実行構成---->引数
-Xmx1Gを入力してください(これはXmx256m又はXmx1g ...... Mように最大サイズを設定するために使用される - > MB G ---> GB)
のjava -d64 -Xms512m -Xmx4gのHelloWorld
ここで、 -d64:64ビットJVMを可能にします -Xms512m:512メガバイトとして初期ヒープサイズを設定します -Xmx4g:ウィルは4ギガバイトと最大ヒープサイズを設定します (ここではJavaのファイル名は次のとおりです。HelloWorld.java)
私は75%にヒープメモリを増やすことができます 物理メモリの(6ギガバイトヒープ)。
はい、できます。あなたがしたい場合は実際には、あなたは、物理メモリの量よりも、それ以上に増やすことができます。
かどうか、これを行うには良いアイデアですが、あなたのシステム上で実行されているどのくらいの他に依存します。現在、大幅に実行されているアプリケーションやサービスの「ワーキングセット」は、利用可能な物理メモリを超えた場合、具体的には、お使いのシステムは、ディスクにしてから仮想メモリページを移動する多くの時間を費やし、「スラッシュ」する傾向にあります。正味の効果は、システムが恐ろしく遅くなるということです。
JVMパラメータを渡すことでヒープサイズを増やすことができます -Xms そして -XMX 以下のように:
Jar ファイルの場合:
java -jar -Xms4096M -Xmx6144M jarFilePath.jar
Java ファイルの場合:
java -Xms4096M -Xmx6144M ClassName
上記のパラメータにより、 初期ヒープサイズ (-Xms) 4GB (4096 MB) および MaxHeapSize(-Xmx) 6GB(6144MB)まで。
しかし 若い世代 ヒープ サイズは同じままで、追加の HeapSize が 旧世代 ヒープサイズ。に Young Gen ヒープと Old Gen ヒープのサイズを等しくする, 、 使用 -XX:NewRatio=1 -XX:-UseAdaptiveSizePolicy パラメータ。
java -jar -Xms4096M -Xmx6144M -XX:NewRatio=1 -XX:-UseAdaptiveSizePolicy pathToJarFile.jar
-XX:NewRatio = 旧世代のヒープ サイズ:若い世代のヒープサイズ (この比率を調整して、希望の比率を得ることができます)。
6ギガバイト
にヒープサイズを変更するには、コマンドの下に使用してくださいexport JAVA_OPTS="-Xms6144m -Xmx6144m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"
これはのみのJavaの64ビット版で動作します。コントロールパネルに移動し、Javaアイコンをクリックしてください。 Javaコントロールパネルの小さなウィンドウには、Javaのメニューバーをクリックし、view
ボタンをクリックします。
あなたは2つのJavaプラットフォーム、Javaを無効に以前のバージョンを使用している場合は、上のクリックし、の実行時のパラメータのテキストフィールドと書き込み-Xmx1024m
以下RAMのサイズより。ヒープサイズを大きくしないでくださいそれ以外の場合は、あなたのシステムがクラッシュしますRAMに等しいます。
いくつかの人々が-Xms
と-Xms
のJVMオプションでヒープサイズのための具体的な答えを指摘しました。私は、これはJVMのメモリオプションの唯一のタイプではないことを指摘したいと思います。あなたは流れを乗り越えスタックしている場合は特に、あなたは-Xss8m
のような追加のオプションを追加することにより、スタックのサイズを大きくしたいと思います。
この問題については、-Xms2g -Xmx6g -Xss8m
のようなもののJVMオプションが解決策になる。
JVMメモリを増やす方法についての私のGoogle検索は、この溶液に連れて行ってくれたように私は、この情報を共有していて、解決策は、メモリ割り当ての大量では動作しませんでした。私は、特定の設定がために何であったかを考え出したら、私は、スタックのサイズを大きくする方法をGoogleにできたと行方不明のparamを発見しました。それは私の時間のトンを保存したと同じように:)ホープこれは、他の人の時間を節約できます。 :)
はい。あなたはできる。
ヒープ メモリを物理メモリの 75% (6 GB ヒープ) 以上に増やすことができます。
64 ビットを使用しているため、ヒープ サイズを希望の量まで増やすことができます。32ビットを使用している場合は4GBに制限されます。
$ java -Xms512m -Xmx6144m JavaApplication
初期ヒープ サイズを 512 MB、最大ヒープ サイズを 6 GB に設定します。
それが役に立てば幸い..:)