Tomcat 7: Как правильно установить размер начальной кучи?

Я пытался настроить начальный размер кучи экземпляра tomcat 7 (CentOS, java -version: 1.6.0_25-b06), добавив следующую строку в catalina.sh:

export CATALINA_OPTS="-Xms=512M -Xmx=1024M"

Запуск tomcat завершается с ошибкой и записывает следующее сообщение в catalina.out:

Invalid initial heap size: -Xms=512m
Could not create the Java virtual machine.

Что не так с этими параметрами?

Ответ 1

Нельзя использовать =. Просто используйте это:

export CATALINA_OPTS="-Xms512M -Xmx1024M"

Ответ 2

Используйте следующую команду для правильного увеличения размера кучи java для tomcat7 (дистрибутивы Linux):

echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/tomcat7/bin/setenv.sh

Ответ 3

Вам не нужно иметь экспорт, просто добавьте эту строку в catalina.sh:

CATALINA_OPTS="-Xms512M -Xmx1024M"

Ответ 4

setenv.sh лучше, потому что вы можете легко переносить такую ​​конфигурацию с одной машины на другую или из одной версии Tomcat в другую. catalina.sh изменяет одну версию Tomcat на другую. Но вы можете сохранить свой setenv.sh без изменений с любой версией Tomcat.

Другим преимуществом является то, что легче отслеживать историю изменений, если вы добавите его в свою систему резервного копирования или управления версиями. Если вы посмотрите, как вы измените setenv.sh по истории, вы увидите только свои собственные изменения. Если вы используете catalina.sh, вы всегда будете видеть не только ваши изменения, но и изменения, которые приходят с каждой новой версией Tomcat.

Ответ 5

Следите за изменениями в дистрибутивах Debian! Я попытался изменить CATALINA_OPTS в своем Debian 7 и результатах, когда этот tomcat больше не запускался. Таким образом, я решил эту проблему, изменив свойство JAVA_OPTS вместо CATALINA_OPTS, как этот

export JAVA_OPTS="-Xms512M -Xmx1024M"

Ответ 6

Только что наткнулся на это, и я реализовал решение Nathan:

добавьте строку (изменив значения по мере необходимости):

export JAVA_OPTS="-Xms512M -Xmx1024M"

в /usr/share/tomcat 7/bin/setenv.sh

Если этот файл не существует, создайте его и

chown root:root it
chmod 755 it

И затем перезапустите tomcat и проверьте его с помощью

ps aux | grep logging

Который должен просто подобрать экземпляр и показать java parms

Ответ 7

Он работает даже без использования ключевого слова "экспорт". Это то, что у меня есть в моем setenv.sh(/usr/share/tomcat7/bin/setenv.sh), и он работает.

ОС: 14.04.1-Ubuntu Версия сервера: Apache Tomcat/7.0.52 (Ubuntu) Сервер построен: 30 июня 2016 01:59:37 Номер сервера: 7.0.52.0

JAVA_OPTS="-Dorg.apache.catalina.security.SecurityListener.UMASK=`umask` -server -Xms6G -Xmx6G -Xmn1400m -XX:HeapDumpPath=/Some/logs/ -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Dcom.sun.management.jmxremote.port=8181 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dserver.name=$HOSTNAME"

Ответ 8

Потратив хорошее время на это. Я обнаружил, что это должен выглядеть setenv.bat. Нет "символов в пакетном файле.

установить CATALINA_OPTS = -Xms512m -Xmx1024m -XX: PermSize = 128m -XX: MaxPermSize = 768m

echo hello "% CATALINA_OPTS%"

Ответ 9

Перейдите в каталог Tomcat Directory/bin

если Linux затем создаст setenv.sh иначе, если Windows затем создаст setenv.bat

содержимое setenv. * file:

export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

после перезапуска tomcat с новыми параметрами.

объяснение и полная информация здесь

http://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-tomcat/

Ответ 10

Если это не работает на вашем компьютере Centos 7 "export CATALINA_OPTS =" -Xms512M -Xmx1024M "", то вы можете изменить память кучи из файла vi/etc/systemd/system/tomcat.service, а затем это значение отобразится в вашем tomcat с помощью команды ps -ef | grep tomcat.