質問

私は 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メガバイト最大ヒープ

に最小ヒープを設定することができ
32ビットのJVM、あなたは理論的に設定することができ、最大ヒープサイズでは4ギガバイトは、

です。大きなヒープサイズを使用するには、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 に設定します。

それが役に立てば幸い..:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top