Как использовать параметры JVM для веб-приложения, работающего на tomcat, на машине с Linux

Я хочу использовать сборщик мусора, отличный от стандартного GC Parallel, для моего веб-приложения при развертывании на моем производственном сервере, который будет работать в Linux.

Скажем для примера, я хочу использовать Concurrent Mark Sweep GC для приложения.

Теперь я прочитал, что мы можем использовать это, добавив -XX:+UseConcMarkSweepGC и другие параметры JVM для его точной настройки.

Поэтому при упаковке моей войны с использованием Maven я включаю эти дополнительные параметры JVM. пример:

mvn clean package -Dgwt.extraJvmArgs="-Xms2048m -Xmx2048m -XX:PermSize=512M -XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC" 

Война упакована, я развернул ее на своем сервере Tomcat, который работает в среде Linux.

Обратите внимание, что я упаковываю эту войну на машине с Windows, а затем развертываю войну на машине Linux, используя putty и winscp

То, что я не понимаю, как это будет гарантировать, что CMS GC работает? Я имею в виду, я не должен включать эти изменения, где мое приложение работает?

Или включение этих параметров JVM во время упаковки было достаточно хорошим.

То же самое происходит, если я хочу включить различные другие параметры JVM, в том числе во время подготовки войны - это хорошо, или нам нужно включить эти где-нибудь еще?

Пожалуйста, объясни.

1 ответ

Решение

Добавьте эти параметры в [TOMCAT_HOME]/bin/catalina.sh с JAVA_OPTS

JAVA_OPTS=-Dgwt.extraJvmArgs="-Xms2048m -Xmx2048m -XX:PermSize=512M -XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC"

Это не оказывает никакого влияния на их предоставление при упаковке файла войны.

Другие вопросы по тегам