2010-01-27 2 views
4

Я запускаю несколько tomcats в окне Red Hat, и я хотел бы настроить отдельный размер кучи для каждого из них (в некоторых случаях используется больше памяти).Tomcat 6 Размер кучи - Это правильно?

Могу ли я установить размер кучи мин/макс Ы введя в файл catalina.sh:

CATALINA_OPTS = "- Xms64m -Xmx256m"

Мне нужно добавить 'экспорт' делать? то есть экспорт CATALINA_OPTS = "- Xms64m -Xmx256m"

ответ

13

Лучшей практикой является установка параметров переменных окружения в файл с именем setenv.sh/.bat в папку bin.

У сценария catalina.sh есть логика для вызова этого скрипта, если он существует.

Причина, почему это рекомендуется, потому что это делает установку переменной среды, необходимые для установки переносного: вы можете легко скопировать setenv.sh на другие установки Tomcat, вы можете обновить Tomcat до более новой версии (которая может перезаписать catalina.sh), но по-прежнему иметь существующий setenv.sh.

Пример того, как установить размер кучи внутри setenv.sh:

export JAVA_OPTS='-Xmx784M` 
+13

Обратите внимание, что 'CATALINA_OPTS' является лучшим местом, чем' JAVA_OPTS'. Первый используется только при фактическом запуске экземпляра Tomcat. 'JAVA_OPTS' также используется для запуска JVM, которые взаимодействуют только с Tomcat (например, экземпляр JVM, который используется для отправки сообщения shutdown на исполняемый экземпляр Tomcat). Этим JVM обычно не требуется столько памяти. –

+0

Ничего себе, отличный момент Йоахим - спасибо за это. Мне нужно будет обновить все наши скрипты сейчас :) –

+0

@mattb Не возражаете ли вы обновить свой ответ так же, как и комментарий Joachim Sauer? –

1

Если добавить к этому что-либо в установке Tomcat, он будет влиять на все экземпляры работают на этой машине.

Я думаю, что вы хотите установить JAVA_OPTS отдельно, в отдельных сценариях, которые затем вызывают сценарий запуска Tomcat. Сценарии могут устанавливать разные размеры кучи. Да, вам нужно экспортировать.

Смежные вопросы