Как увеличить размер кучи для сервера jBoss - PullRequest
13 голосов
/ 06 июня 2011

У меня есть сценарий загрузки файлов в моем проекте.Когда я пытаюсь загрузить большие файлы, выдается ошибка OutOfMemory.Эта ошибка связана с размером кучи Java.

Как вы можете увеличить размер кучи в Java и какой файл мне нужно изменить для этого?Я использую сервер jboss 5.1 для запуска моего приложения.

Ответы [ 8 ]

27 голосов
/ 06 июня 2011

Вы можете установить его как аргументы JVM обычным способом, например, -Xms1024m -Xmx2048m для минимальной кучи 1 ГБ и максимальной кучи 2 ГБ. JBoss будет использовать переменную окружения JAVA_OPTS для включения дополнительных аргументов JVM, вы можете указать ее в файле /bin/run.conf.bat:

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

Однако это скорее обходной путь , чем реальное решение. Если несколько пользователей одновременно загружают большие файлы, рано или поздно вы столкнетесь с той же проблемой. Вы должны будете продолжать увеличивать память даром. Вам лучше сконфигурировать парсер загрузки файлов для хранения загруженного файла на временном диске, а не в памяти. Пока неясно, какой парсер вы используете, подходящий ответ не может быть дан. Однако более часто Apache Commons FileUpload используется под обложками, поэтому вам следует читать документацию с «пороговым размером» в качестве ключевого слова, чтобы настроить ограничение памяти для загружаемых файлов. Если размер файла превышает пороговое значение, он записывается на диск.

5 голосов
/ 06 октября 2017

В wildfly 8 и более поздних версиях перейдите на /bin/standalone.conf и поместите туда свой JAVA_OPTS со всем необходимым.

4 голосов
/ 10 мая 2013

Отредактируйте следующую запись в файле run.conf.Но если у вас есть несколько JVM, работающих на одном и том же JBoss, вы можете запустить его с аргументом командной строки -Xms2g -Xmx4g (или какими-либо предпочтительными параметрами запуска / максимума памяти.

if [ "x$JAVA_OPTS" = "x" ]; then
    JAVA_OPTS="-Xms2g -Xmx4g -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true
4 голосов
/ 06 июня 2011

Используйте опции командной строки -Xms и -Xmx при запуске java:

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

Для получения дополнительной справки введите java -X в командной строке.

3 голосов
/ 06 июня 2011

Найдите в папке bin JBoss файл run.bat (run.sh в Unix)

найдите строку set JAVA_OPTS (или просто JAVA_OPTS в Unix) в конце этой строки. Add-Xmx512m.Измените число на объем памяти, который вы хотите выделить для JBoss.

Если вы используете собственный скрипт для запуска своего экземпляра jboss, вы также можете добавить опцию set JAVA_OPTS.

2 голосов
/ 17 сентября 2018

Я упомянул изменения конфигурации, необходимые для увеличения размера кучи в 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"

Теперь перезагрузите сервер, и он будет работать, не вызывая ошибок размера кучи.

Для получения дополнительной информации вы можете обратиться по этой ссылке ниже.

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

0 голосов
/ 01 ноября 2018

Что изменить?

установить "JAVA_OPTS =% JAVA_OPTS% -Xms1024m -Xmx2048m"

Где поменять? (Обычно)

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

Что если вы используете собственный скрипт, который переопределяет существующие настройки? то

setJBosssEnvironment.cmd / .sh (вид имени файла будет там)

Более подробная информация уже предоставлена ​​некоторыми членами нашего комитета! BalusC .

0 голосов
/ 27 августа 2018

В моем случае для jboss 6.3 мне пришлось изменить JAVA_OPTS в файле jboss-eap-6.3\bin\standalone.conf.bat и установить следующие значения -Xmx8g -Xms8g -Xmn3080m, чтобы jvm занимал 8 ГБ пространства.

...