Ответ 1
Нельзя использовать =
. Просто используйте это:
export CATALINA_OPTS="-Xms512M -Xmx1024M"
Я пытался настроить начальный размер кучи экземпляра 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.
Что не так с этими параметрами?
Нельзя использовать =
. Просто используйте это:
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"
Только что наткнулся на это, и я реализовал решение 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
Он работает даже без использования ключевого слова "экспорт". Это то, что у меня есть в моем 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"
Потратив хорошее время на это. Я обнаружил, что это должен выглядеть setenv.bat. Нет "символов в пакетном файле.
установить CATALINA_OPTS = -Xms512m -Xmx1024m -XX: PermSize = 128m -XX: MaxPermSize = 768m
echo hello "% CATALINA_OPTS%"
Перейдите в каталог 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/
Если это не работает на вашем компьютере Centos 7 "export CATALINA_OPTS =" -Xms512M -Xmx1024M "", то вы можете изменить память кучи из файла vi/etc/systemd/system/tomcat.service, а затем это значение отобразится в вашем tomcat с помощью команды ps -ef | grep tomcat.