Как установить собственный алгоритм сборки мусора в Tomcat - PullRequest
0 голосов
/ 09 июля 2019

Я хочу установить собственный алгоритм сборки мусора для моего java-приложения [war], которое работает поверх tomcat.Я использую java8 и сборщик мусора по умолчанию - параллель.Я хочу использовать G1GC или CMS GC вместо этого.

java -XX:+UseG1GC -jar Application.java

Приложение Jar можно выполнить с помощью приведенной выше команды.Но я хочу знать, как мы можем настроить это в tomcat / с приложением war?

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Нашел ответ, выложу его сюда для сообщества

Когда нам нужно установить пользовательский GC для tomcat, мы можем передать тип GC в качестве параметра переменной env CATALINA_OPTS.

export CATALINA_OPTS = "-XX:+UseG1GC"

Вы можете установить эту переменную env в файле setenv.sh (tomcat / bin / setenv.sh) или в файле jvmsettings.sh (/etc/profile.d/jvmsettings.sh). В дополнение к типу GC вы можете передать другие параметры jvm в ту же команду

export CATALINA_OPTS="-Xms4096M -Xmx7168M -XX:+UseG1GC -XX:+PrintGCDetails -Xloggc:/settings/logs/gc.log"

После завершения настройки перезапустите сервер Tomcat. Затем выполните следующую команду, чтобы получить текущий используемый тип GC

jmap -heap <process_id>

enter image description here

1 голос
/ 09 июля 2019

Я думаю, вы можете сделать это в файле variables.conf, куда вы можете добавить его следующим образом:

-XX:+UseG1GC
...