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


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

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

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

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

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

9 63

9 ответов:

вы не должны использовать =. Просто используйте это:

export CATALINA_OPTS="-Xms512M -Xmx1024M"

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

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

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

CATALINA_OPTS="-Xms512M -Xmx1024M"

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

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

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

export JAVA_OPTS="-Xms512M -Xmx1024M"

просто наткнулся на это и я реализовал решение Нейтана:

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

export JAVA_OPTS="-Xms512M -Xmx1024M"

to /usr/share/tomcat7/bin/setenv.sh

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

chown root:root it
chmod 755 it

а затем перезапустить tomcat и проверьте это с

ps aux | grep logging

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

Он работает даже без использования ключевого слова 'export'. Это то, что у меня есть в моем 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"

перейдите в "каталог Tomcat" / bin directory

если Linux, то создать setenv.sh иначе, если Windows затем создает setenv.летучая мышь

содержание 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/

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

set CATALINA_OPTS= - Xms512m-Xmx1024m-XX:PermSize=128m-XX:MaxPermSize=768m

Эхо привет " %CATALINA_OPTS%"