Какие параметры памяти Tomcat JVM, связанные с памятью, стоит настроить? - PullRequest
4 голосов
/ 13 июня 2010

Я пытаюсь понять изобразительное искусство настройки параметров памяти Tomcat. В этом квесте у меня есть следующие три вопроса:

  • Какие параметры запуска JVM, связанные с памятью, стоит установить при запуске Tomcat? Зачем?
  • Какое полезное правило при точной настройке параметров памяти для установки Tomcat?
  • Как вы отслеживаете потребление памяти вашей живой установкой Tomcat?

Ответы [ 4 ]

2 голосов
/ 13 июня 2010

Какие параметры запуска JVM, связанные с памятью, стоит установить при запуске Tomcat?Зачем?

Я бы сказал, что ответ зависит от такого количества факторов, что невозможно дать общий ответ.Например:

  • Параметры памяти будут в огромной степени зависеть от поведения веб-приложений, которые вы запускаете внутри Tomcat.Неужели память веб-приложений голодна?Является ли их использование памяти цикличным?Это зависит от нагрузки?Они используют / полагаются на кэши в куче?
  • Регулярно ли вы выполняете горячую перераспределение своих веб-приложений?Делают ли веб-приложения трюки с загрузчиком классов?
  • Есть ли у веб-приложений особые требования к производительности;Например, вам нужно выполнить 95% запросов в течение определенного времени?
  • Можете ли вы игнорировать требования к памяти для других экземпляров Tomcat / других приложений, работающих на той же машине?Стратегия заключается в использовании JMX / jconsole / etc, чтобы увидеть, как GC работает в ваших экземплярах Tomcat.Если вы недовольны тем, что видите, , тогда подумайте о настройке GC.

    (И прочитайте связанную статью в ответе @ Ромена!)

1 голос
/ 13 июня 2010

Вот хорошая статья с именем
Мой совет по настройке кучи JVM, держите пальцы подальше от ручек!

Что касается мониторинга, см. Этот инструмент: http://www.lambdaprobe.org/d/index.htm

1 голос
/ 13 июня 2010

Обычно большинство людей настраивают -Xmx, что означает память, зарезервированную для кучи Java.Если на компьютере, на котором запущен Tomcat, ничего другого, что потребляет ОЗУ, не выполняется, и вы не выполняете много операций ввода-вывода (что дает преимущество в том, что ОЗУ используется в качестве кеша), обычно целесообразно позволить Tomcat использовать как можно больше памяти.*

Прошло много лет с тех пор, как мне в последний раз приходилось настраивать Tomcat, но раньше была полезна настройка сбора мусора.

Использовать любой инструмент управления JMX для мониторинга использования памяти;JConsole поставляется с JDK и довольно полезен.

0 голосов
/ 03 августа 2010

Два параметра Java для настройки: -Xmx и -Xms, которые задают максимальный объем памяти, доступный для JVM, и начальный объем памяти, используемый JVM. Быстрый man java объяснит, как использовать -Xmx и -Xms. Как всегда, больше памяти поможет ускорить процесс.

...