Apache Tomcat java.lang.OutOfMemoryError

Если вы получаете подобное исключение, то вам, скорее всего, нужно увеличить размер памяти, которое доступно JVM. По умолчанию максимальный размер кучи устанавливается в довольно маленькое значение, и его часто приходится указывать вручную.

Windows

Посмотрите файл %CATALINA_BASE%\bin\catalina.bat. Вы увидите, что он ссылается на файл %CATALINA_BASE%\bin\setenv.bat.

Создайте файл setenv.bat  и пропишите в нём следующее:

Здесь -Xms  — это начальный объём памяти, -Xmx  — максимальный объём памяти. Эти настройки для кучи (heap), а сама JVM может занять несколько больше. В предыдущих версиях Java (до версии 8) были ещё параметры -XX:PermSize=64m -XX:MaxPermSize=256m , но они уже устарели).

Перезапустите Apache Tomcat он считает новые параметры из файла setenv.bat  и применит их.

Linux

Посмотрите файл $CATALINA_BASE/bin/catalina.sh . Вы увидите, что он ссылается на файл $CATALINA_BASE/bin/setenv.sh.

Создаёте файл setenv.sh  и пропишите в нём следующее:

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms128m -Xmx2048m"

Здесь -Xms  — это начальный объём памяти, -Xmx  — максимальный объём памяти. Эти настройки для кучи (heap), а сама JVM может занять несколько больше. В предыдущих версиях Java (до версии 8) были ещё параметры -XX:PermSize=64m -XX:MaxPermSize=256m , но они уже устарели).

Перезапустите Apache Tomcat он считает новые параметры из файла setenv.sh  и применит их.

 

Приведённые выше значения для -Xms  и - Xmx  указаны только для примера. Вам нужно установить те значения, которые подходят для вашего сервера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *