Подтвердить что ты не робот

Как настроить параметры памяти Tomcat 5.5 JVM без использования программы конфигурации

Мне нужно настроить параметры памяти Tomcat как часть более крупной установки, поэтому вручную настроить tomcat с помощью приложения конфигурации после того, как факт не может быть и речи. Я думал, что могу просто выбросить параметры памяти JVM в переменную окружения JAVA_OPTS, но я тестирую это с помощью jconsole, чтобы увидеть, работает ли это, и это не так.

В соответствии с комментарием ниже CATALINA_OPTS также не работает. До сих пор единственный способ заставить его работать - это графический интерфейс конфигурации Tomcat, и это не приемлемое решение для моей проблемы.

4b9b3361

Ответ 1

Предложение Сергея работает, и вот еще несколько деталей.

Если вы посмотрите в каталоге установочного bin, вы увидите файл catalina.sh или .bat. Если вы посмотрите в них, вы увидите, что они запускают setenv.sh или setenv.bat script соответственно, если он существует, для установки переменных среды. Соответствующие переменные среды описаны в комментариях на top of catalina.sh/bat. Чтобы использовать их, создайте, например, файл $ CATALINA_HOME/bin/setenv.sh с содержимым

export JAVA_OPTS="-server -Xmx512m"

Для Windows вам понадобится, в setenv.bat, что-то вроде

set JAVA_OPTS=-server -Xmx768m

Надеюсь, это поможет, Гленн

Ответ 2

Создайте файл setenv. (sh | bat) в каталоге tomcat/bin с переменными среды, которые вы хотите изменить.

Catalina script проверяет, существует ли setenv script и запускает его для установки переменных среды. Таким образом, вы можете изменить параметры только на один экземпляр tomcat и проще скопировать его в другой экземпляр.

Возможно, ваше приложение конфигурации создало setenv script, и именно поэтому tomcat игнорирует переменные среды.

Ответ 3

Используйте переменную среды CATALINA_OPTS.

Ответ 4

Если вы используете Ubuntu 11.10 и apache-tomcat6 (установка из apt-get), вы можете поместить эту конфигурацию в /usr/share/tomcat6/bin/catalina.sh

# -----------------------------------------------------------------------------

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m \
-Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m \
-XX:MaxPermSize=512m -XX:+DisableExplicitGC"

После этого вы можете проверить свою конфигурацию через ps -ef | grep tomcat:)

Ответ 5

Я использую следующее setenv.bat содержимое:

==============setenv.bat============

    set JAVA_OPTS=-XX:MaxPermSize=256m -Xms256M -Xmx768M -Xdebug -Xnoagent  -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n %JAVA_OPTS%

====================================

Он также позволяет отлаживать и устанавливает порт отладки на 7777 и добавляет предыдущий контент JAVA_OPTS.

Ответ 6

Handy для виртуальных машин Linux; Используйте 75% всей вашей системной памяти для Tomcat. Yay AWK.

Положите начало "{tomcat}/bin/startup.sh"

export CATALINA_OPTS="-Xmx`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`k"

Ответ 7

Чтобы добавить к предыдущему комментарию, документация для инструмента командной строки для обновления параметров сервиса Tomcat (если Tomcat работает как служба в Windows) . Этот инструмент обновляет реестр с соответствующими настройками. Поэтому, если вы хотите обновить максимальную настройку памяти для службы Tomcat, вы можете запустить ее (из каталога tomcat/bin), предполагая имя службы по умолчанию Tomcat5:

tomcat5 //US//Tomcat5 --JvmMx=512

Ответ 8

Мне нравится идея установки памяти tomcat6 на основе доступной памяти сервера (это классно, потому что мне не нужно менять настройку после обновления оборудования). Вот мой (немного расширенная настройка памяти):

export CATALINA_OPTS = "- Xmx `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '` k -Xms `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '` k -XX: NewSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '` k -XX: MaxNewSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '` k -XX: PermSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '` k -XX: MaxPermSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '` к"

Поместите его в: "{tomcat}/bin/startup.sh" (например, "/usr/share/tomcat6/bin" для Ubuntu 10.10)

Ответ 9

Не уверен, что это будет подходящее решение для вас. Но единственный способ для мониторинга параметров памяти tomcat, а также количества подключений и т.д., Который действительно работает для нас, - Lambda Probe.

Это показывает большую часть информации, которая нам нужна для настройки Tomcat. Мы протестировали его с Tomcat 5.5 и 6.0, и он отлично работает, несмотря на бета-статус и дату последнего обновления в конце 2006 года.

Ответ 10

Если вы запустили Tomcat вручную (не как сервис), тогда переменная среды CATALINA_OPTS - это путь. Если вы запустите его как службу, настройки, вероятно, будут храниться где-то в реестре. У меня есть Tomcat 6, установленный на моей машине, и я нашел настройки с помощью клавиши HKLM\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java.

Ответ 11

Если вы запустите Tomcat в Windows, вы можете использовать опрятное приложение Tomcat Monitor, которое поставляется с Tomcat.

Перейдите на вкладку Java. Внизу, ниже текстового поля "Параметры Java", вы найдете 3 поля ввода:

  • Начальный пул памяти ___ MB
  • Максимальный пул памяти ___ MB
  • Размер стека строк _____ KB

Ответ 12

Просто отредактируйте свой каталог /bin/startup.sh script. Добавьте в него следующие команды:

#Adjust it to the size you want. Ignore the from bit.
export CATALINA_OPTS="-Xmx1024m"
#This should point to your catalina base directory 
export CATALINA_BASE=/usr/local/tomcat
#This is only used if you editing the instance of your tomcat
/usr/share/tomcat6/bin/startup.sh

Sailab: http://www.facejar.com/member/page-id-477.html

Ответ 13

В моем случае был файл /etc/sysconfig/tomcat 5.conf, перезаписывающий все настройки в файле/etc/tomcat5/tomcat5.conf