Как увеличить объем памяти на Tomcat 7 при работе в качестве службы Windows? - PullRequest
33 голосов
/ 13 мая 2011

Я пытаюсь запустить Tomcat 7 в качестве службы Windows (XP и Windows 7).

Я вижу места для установки аргументов -Xmx и -Xms jvm в catalina.bat, но я неубедитесь, как это сделать при использовании $ CATALINA_HOME / bin / service.bat установите имя службы.Я оглянулся, но лучшее, что я смог найти, это то, что мне нужно было обновить раздел реестра Windows, хотя я не уверен, какой из них редактировать.

Надеюсь, есть более простой способ, не так ли?

Обновление: я не использую установщик Windows в основном потому, что я запускаю несколько экземпляров tomcat на одной и той же машине, но с разными портами (по причинам, которые я бы не стал здесь использовать).Если я могу использовать установщик с несколькими экземплярами, использующими разные порты, то я хотел бы знать, как, но независимо от того, возможно ли увеличить объем памяти в службе Windows tomcat без инструментов пользовательского интерфейса, которые поставляются вместе с установщиком?

Ответы [ 4 ]

51 голосов
/ 13 мая 2011

Предполагая, что вы загрузили и установили Tomcat как Установщик службы Windows exe-файл с домашней страницы Tomcat , затем проверьте значок пера Apache в системном окне (или, если его нет, запустите Монитор Tomcat из меню Пуск).Дважды щелкните значок пера и перейдите на вкладку Java .Там вы можете настроить память.

enter image description here

Перезапустите службу, чтобы изменения вступили в силу.

17 голосов
/ 13 мая 2011

Ответ на мой вопрос заключается в том, чтобы использовать tomcat7.exe:

cd $CATALINA_HOME
.\bin\service.bat install tomcat
.\bin\tomcat7.exe //US//tomcat7 --JvmMs=512 --JvmMx=1024 --JvmSs=1024

Кроме того, вы можете запустить средство пользовательского интерфейса, упомянутое BalusC, без системного трея или с помощью установщика с tomcat7w.exe

.\bin\tomcat7w.exe //ES//tomcat

Дополнительное примечание к этому:

Установка параметров --JvmXX (с помощью инструмента пользовательского интерфейса или командной строки) может быть недостаточной. Вам также может понадобиться явно указать значения памяти JVM. Из командной строки это может выглядеть так:

bin\tomcat7w.exe //US//tomcat7 --JavaOptions=-Xmx=1024;-Xms=512;..

Будьте осторожны, чтобы не переопределять другие значения JavaOption. Вы можете попробовать обновить bin \ service.bat или использовать инструмент пользовательского интерфейса и добавить параметры java (разделите каждое значение новой строкой).

6 голосов
/ 20 марта 2012

В соответствии с настройками catalina.sh всегда следует указывать собственный файл setenv.sh (или setenv.bat соответственно), например:

CATALINA_OPTS='-Xms512m -Xmx1024m'

Я предполагаю, что setenv.bat также будет вызываться при запускеservice.It может быть не так, так как я не пользователь Windows.

6 голосов
/ 16 декабря 2011

//ES/tomcat -> Это может не работать, если вы изменили имя службы во время установки.

Либо запустите команду без имени службы

.\bin\tomcat7w.exe //ES

или с точным названием услуги

.\bin\tomcat7w.exe //ES/YourServiceName
...