簡體   English   中英

如何增加 jBoss 服務器的堆大小

[英]How to increase heap size for jBoss server

我的項目中有一個上傳文件方案。 當我嘗試上傳大文件時,它給了我一個 OutOfMemory 錯誤。 該錯誤與 Java 堆大小有關。

如何增加 Java 中的堆大小,我需要為此更改哪個文件? 我正在使用 jboss 5.1 服務器來運行我的應用程序。

您可以按照通常的方式將其設置為 JVM arguments,例如-Xms1024m -Xmx2048m最小堆為 1GB,最大堆為 2GB。 JBoss 將使用JAVA_OPTS環境變量來包含額外的 JVM arguments,您可以在/bin/run.conf.bat文件中指定它:

set "JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m"

但是,這更像是一種解決方法,而不是真正的解決方案。 如果多個用戶同時上傳大文件,您遲早會遇到同樣的問題。 您需要不斷增加 memory 。 您應該將文件上傳解析器配置為將上傳的文件存儲在臨時磁盤上,而不是完全存儲在 memory 中。 只要不清楚您使用的是哪個解析器,就無法給出合適的答案。 然而,Apache Commons FileUpload 經常在幕后使用,然后您應該閱讀以“閾值大小”作為關鍵字的文檔來配置上傳文件的 memory 限制。 當文件大小超過閾值時,它將被寫入磁盤。

在 wildfly 8 及更高版本上,go 到/bin/standalone.conf並把你的 JAVA_OPTS 放在那里,你需要的一切。

編輯 run.conf 文件中的以下條目。 但是,如果您有多個 JVM 在同一個 JBoss 上運行,您可能希望通過 -Xms2g -Xmx4g 的命令行參數(或您首選的啟動/最大 memory 設置)運行它。

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

我已經提到了在WindowsLinux環境中增加堆大小所需的配置更改。

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"

現在重新啟動服務器,它將工作而不會提示任何堆大小錯誤。

有關更多信息,您可以參考下面的此鏈接。

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

運行 java 時使用 -Xms 和 -Xmx 命令行選項:

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

如需更多幫助,請在命令行中鍵入java -X

在 JBoss bin 文件夾中查找文件 run.bat(Unix 上的 run.sh)

在該行的末尾查找行set JAVA_OPTS ,(或只是 JAVA_OPTS 在 Unix 上)添加 -Xmx512m。 將數字更改為要分配給 JBoss 的 memory 的數量。

如果您使用自定義腳本來啟動 jboss 實例,您也可以在此處添加 set JAVA_OPTS 選項。

就我而言,對於jboss 6.3 ,我必須更改文件jboss-eap-6.3\bin\standalone.conf.bat中的JAVA_OPTS並為 jvm 設置以下值-Xmx8g -Xms8g -Xmn3080m -Xmn3080m 以占用空間。

要改變什么?

設置“JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m”

在哪里改變? (一般)

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

如果您使用覆蓋現有設置的自定義腳本怎么辦? 然后?

setAppServerEnvironment.cmd/.sh(文件名的種類會在那里)

我們的一位委員會成員已經提供了更多信息! 巴魯斯 C.

在 bin/standalone.conf.bat 的 jboss 中添加以下選項

   set "JAVA_OPTS=-Xms1G -Xmx1G -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1024m"

You can increase or set the heap size configuration ie - Xms / Xmx or any other JVM options in the JBoss application server in JAVA_OPTS JVM options in standalone.conf(Linux) & standalone.conf.bat file in Windows.

JAVA_OPTS="-Xms2048M -Xmx2048M"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM