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

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

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

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

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

export JAVA_OPTS="-server -Xmx512m" 

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

 set JAVA_OPTS=-server -Xmx768m 

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

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

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

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

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

Если вы используете 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 🙂

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

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

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

Я использую следующее содержимое 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 .

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

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

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

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 } '` k”

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

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

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

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

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

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

  • Начальный пул памяти _ __ MB
  • Максимальный пул памяти _ __ MB
  • Размер стека streamа _ ____ KB

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

 #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

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

  • org.glassfish.jersey.servlet.ServletContainer КлассNotFoundException
  • ClassNotFoundException при использовании пользовательских библиотек в пути сборки Eclipse
  • Как вызвать метод до уничтожения объекта сеанса?
  • Java Runtime.getRuntime (). Exec () альтернативы
  • Как сохранить и получить изображение на моем сервере в java webapp
  • Где скомпилированы JSP Java (* __ jsp.java) файлы?
  • Утечка памяти Tomcat Guice / JDBC
  • Получить номер порта сервера из tomcat без запроса
  • Храните PDF в течение ограниченного времени на сервере приложений и делайте его доступным для загрузки
  • Отображение определенного сервлета в качестве сервлета по умолчанию в Tomcat
  • Официальные причины для «Программного обеспечения прерывания соединения: ошибка записи сокета»
  • Давайте будем гением компьютера.