web-dev-qa-db-ja.com

jBossサーバーのヒープサイズを増やす方法

プロジェクトにファイルのアップロードのシナリオがあります。大きなファイルをアップロードしようとすると、OutOfMemoryエラーが発生します。このエラーは、Javaヒープサイズに関連しています。

Javaでヒープサイズを増やすにはどうすればよいですか。また、このためにどのファイルを変更する必要がありますか?アプリケーションの実行にjboss 5.1サーバーを使用しています。

13
youraj

通常の方法でJVM引数として設定できます。 -Xms1024m -Xmx2048m最小ヒープ1GB、最大ヒープ2GB。 JBossはJava_OPTS環境変数を使用して追加のJVM引数を含めるため、/bin/run.conf.batファイルで指定できます。

set "Java_OPTS=%Java_OPTS% -Xms1024m -Xmx2048m"

ただし、これは実際のソリューションよりも回避策です。複数のユーザーが同時に大きなファイルをアップロードすると、遅かれ早かれ同じ問題が発生します。何もせずにメモリを増やし続ける必要があります。むしろ、ファイルアップロードパーサーを構成して、アップロードされたファイルを完全にメモリではなく一時ディスクに保存するようにしてください。使用しているパーサーが不明な限り、適切な答えを出すことはできません。ただし、Apache Commons FileUploadが頻繁に使用される場合は、キーワードとして「しきい値」を使用してドキュメントを読み、アップロードされたファイルのメモリ制限を構成する必要があります。ファイルサイズがしきい値を超えると、ディスクに書き込まれます。

27
BalusC

Wildfly 8以降では、/bin/standalone.confそしてそこにJava_OPTSを配置します。必要なものはすべて揃っています。

6
Camilo

Run.confファイルの次のエントリを編集します。ただし、同じJBossで複数のJVMを実行している場合は、コマンドライン引数-Xms2g -Xmx4g(または任意の望ましい開始/最大メモリ設定)を使用して実行できます。

if [ "x$Java_OPTS" = "x" ]; then
    Java_OPTS="-Xms2g -Xmx4g -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true
5
kmaqsudi

Javaを実行するときは、-Xmsおよび-Xmxコマンドラインオプションを使用します。

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size

さらにヘルプが必要な場合は、コマンドラインにJava -Xと入力してください。

4
AlexR

JBoss binフォルダーでファイルrun.bat(Unixではrun.sh)を探します

その行の最後でset Java_OPTS(またはUnixではJava_OPTS)の行を探し、-Xmx512mを追加します。数値をJBossに割り当てるメモリの量に変更します。

カスタムスクリプトを使用してjbossインスタンスを起動している場合は、set Java_OPTSオプションもそこに追加できます。

3
Sean

ヒープサイズの増加に必要な構成の変更について述べましたWindowsまたはLinux環境。

Linux

bin/standalone.conf

次の行を確認してください。

Java_OPTS

必要に応じてヒープサイズのニーズに合わせて変更します

-Xms1303m: initial heap size in megabytes
-Xmx1303m: maximum heap size in megabytes

Java_OPTS="-Xms1024M -Xmx2048M -XX:MaxPermSize=2048M -XX:MaxHeapSize=2048M"

Windows

bin/standalone.conf.bat

Java_OPTS="-Xms1024M -Xmx2048M -XX:MaxPermSize=2048M -XX:MaxHeapSize=2048M"

サーバーをrestartすると、ヒープサイズエラーを表示せずに動作します。

詳細については、以下のリンクを参照してください。

https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html/getting_started_guide/adjust_memory_settings

2
Dulith De Costa

私の場合、jboss 6.3変更しなければならなかったJava_OPTSファイル内jboss-eap-6.3\bin\standalone.conf.batおよび次の値を設定-Xmx8g -Xms8g -Xmn3080m jvmが8GBのスペースを取るため。

1

変更するもの

「Java_OPTS =%Java_OPTS%-Xms1024m -Xmx2048m」を設定します

どこで変更しますか? (通常は)

bin/standalone.conf(Linux)standalone.conf.bat(Windows)

既存の設定を上書きするカスタムスクリプトを使用している場合はどうなりますか?それから?

setJBosssEnvironment.cmd/.sh(ファイル名の種類がそこにあります)

詳細については、委員会メンバーの一部がすでに提供しています! BalusC

0
vipul kumawat

Bin/standalone.conf.batのjbossに次のオプションを追加します

   set "Java_OPTS=-Xms1G -Xmx1G -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1024m"
0
Rajeev Ranjan