8 GBのRAMを搭載したWindows 2003サーバー(64ビット)で作業しています。ヒープメモリの最大値を増やすにはどうすればよいですか?-Xmx1500m
フラグを使用して、ヒープサイズを1500 Mbに増やしています。ヒープメモリを物理メモリの75%(6 GBヒープ)に増やすことはできますか?
8 GBのRAMを搭載したWindows 2003サーバー(64ビット)で作業しています。ヒープメモリの最大値を増やすにはどうすればよいですか?-Xmx1500m
フラグを使用して、ヒープサイズを1500 Mbに増やしています。ヒープメモリを物理メモリの75%(6 GBヒープ)に増やすことはできますか?
回答:
32ビットシステムでは4GBに増やすことができます。64ビットシステムを使用している場合は、さらに高くすることができます。誤って選択した場合でも心配する必要はありません。32ビットシステムで5gを要求した場合、Javaは無効な値について文句を言って終了します。
他のユーザーが投稿したように、cmd-lineフラグを使用します-例
java -Xmx6g myprogram
java -Xと入力すると、完全なリスト(または、ほぼ完全なリスト)を取得できます。
java -d64 -Xms512m -Xmx4g HelloWorld
-d64:64ビットJVMを有効にします-Xms512m:初期ヒープサイズを512 MBに設定します-Xmx4g:最大ヒープサイズを4 GBに設定します(ここでのJavaファイル名はHelloWorld.javaです)
以下のようにJVMパラメータ-Xmsおよび-Xmxを渡すことにより、ヒープサイズを増やすことができます。
JARファイルの場合:
java -jar -Xms4096M -Xmx6144M jarFilePath.jar
Javaファイルの場合:
java -Xms4096M -Xmx6144M ClassName
上記のパラメーターは、InitialHeapSize(-Xms)を4GB(4096 MB)に、MaxHeapSize(-Xmx)を6GB(6144 MB)に増やします。
ただし、若い世代のヒープサイズは同じままで、追加のHeapSizeが古い世代のヒープサイズに追加されます。Young Gen HeapとOld Gen Heapのサイズを等しくするには、-XX:NewRatio = 1 -XX:-UseAdaptiveSizePolicy paramsを使用します。
java -jar -Xms4096M -Xmx6144M -XX:NewRatio=1 -XX:-UseAdaptiveSizePolicy pathToJarFile.jar
-XX:NewRatio = Old Gen Heap Size:Young Gen HeapSize(この比率でプレイして目的の比率を得ることができます)。
ヒープメモリを物理メモリの75%に増やすことはできますか(6GBヒープ)。
はい、できます。実際、必要に応じて、物理メモリの量以上に増やすことができます。
これを行うのが適切かどうかは、システムで他にどれだけ実行されているかによって異なります。特に、現在実行中のアプリケーションとサービスの「ワーキングセット」が使用可能な物理メモリを大幅に超える場合、システムは「スラッシュ」を起こしやすくなり、仮想メモリページのディスクへの移動やディスクからの移動に多くの時間を費やします。正味の影響は、システムがひどく遅くなることです。
以下のコマンドを使用して、ヒープサイズを6GBに変更してください
export JAVA_OPTS="-Xms6144m -Xmx6144m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"
数人が-Xms
、およびのjvmオプションを使用して、ヒープサイズに関する具体的な回答を指摘しました-Xms
。これは、jvmのメモリオプションの唯一のタイプではないことを指摘しておきます。特に、スタックオーバーフローを取得している場合は、などの追加オプションを追加してスタックのサイズを大きくする必要があります-Xss8m
。
この問題の場合、のようなjvmオプションが-Xms2g -Xmx6g -Xss8m
解決策になります。
私がこの情報を共有しているのは、jvmメモリを増やす方法についてグーグルで検索したところ、このソリューションにたどり着いたためで、大量のメモリ割り当てではソリューションが機能しませんでした。特定の設定が何であるかがわかれば、スタックサイズを増やす方法をグーグルで調べて、不足しているパラメータを見つけることができました。:)これにより他の時間を節約できれば幸いです。:)
これは64ビットバージョンのJavaでのみ機能します。コントロールパネルに移動し、Javaアイコンをクリックします。Javaコントロールパネルの小さなウィンドウで、Javaメニューバーをクリックし、view
ボタンをクリックします。
Javaプラットフォームが2つある場合は、以前のバージョンのJavaを無効にしてから、[ ランタイムパラメータ ] テキストフィールドをクリックして-Xmx1024m
、RAMサイズ以下を入力します。ヒープサイズをRAMと同じにしないでください。システムがクラッシュします。
はい。あなたはできる。
ヒープメモリを物理メモリの75%(6 GBヒープ)以上に増やすことができます。
64ビットを使用しているため、ヒープサイズを必要な量まで増やすことができます。32ビットを使用している場合は4GBに制限されています。
$ java -Xms512m -Xmx6144m JavaApplication
初期ヒープサイズを512 MBに、最大ヒープサイズを6 GBに設定します。
それが役に立てば幸い.. :)
-Xmx6g
か?これはうまくいきませんでしたか?何を観察しましたか?