Потребление памяти Tomcat - PullRequest
4 голосов
/ 12 июля 2011

Я собираюсь установить Tomcat в Linux с размером кучи JVM от 2048 м (2 ГБ) до 2304 м (2 ГБ + 256 МБ) установив CATALINA_OPTS="-Xms2048m -Xmx2304m" в cataina.sh file и ОС Linux имеют 8 ГБ ОЗУ поэтому я делаю некоторые замечания, пожалуйста, помогите с этим

  • Должен ли tomcat напрямую потреблять 2 ГБ от ОС?
  • Если нет, то сколько это займет?
  • Если память занята котом меньше 2 ГБ, то эта память 2 ГБ, выделенная ОС для этого кота, используется только для этого, или какое-то приложение может использовать эту память?
  • и, наконец, мы устанавливаем эту максимальную и минимальную память, значит ОС выделяет весь этот объем памяти для tomcat?

1 Ответ

8 голосов
/ 12 июля 2011

JVM предварительно выделит любую память, указанную вами для -Xms.Таким образом, он будет запрашивать и выделять 2 ГБ памяти при запуске.Если позже потребуется больше памяти (до -Xmx), JVM запросит больше памяти у ОС.

Но знаете ли вы, что вам нужно столько памяти?Основным драйвером потребления памяти будет ваше приложение , а не Tomcat.Простые веб-приложения с несколькими сервлетами или JSP могут легко работать в менее чем 32 МБ кучи.Вам необходимо измерить ваше приложение на производительность / нагрузку, чтобы определить оптимальные настройки.

Примечание: предпочтительный метод настройки параметров JVM - это настройка JAVA_OPTS в setenv.sh, а не catalina.sh.

...