Я обновил Alfresco Search Services с 1.3 до 1.4, что вынудило меня также обновить OpenJDK с 8 до 11. Запуск Alfresco Search Services 1.3 с jdk8 работал без каких-либо OutOfMemoryExceptions во время (пере)индексации, но с jdk11 мы видим повторяющийся рост кучи до тех пор, пока не будет найдено решение. killer убивает процесс solr. Во время индексации jvm непрерывно выполняет GC с jdk, но я предполагаю, что jdk11 изменил GC таким образом, что объекты будут дольше оставаться в памяти. Непрерывный GC указывает на неэффективное создание объектов, но я не могу на это повлиять. Я пробовал с UseConcMarkSweepGC и сборщиком мусора G1, но с таким же поведением. Кто-нибудь знает, как настроить GC в OpenJDK 11, чтобы он вел себя так же, как в OpenJDK8 с Alfresco Search Services/solr6?
Мои параметры в solr.in.sh
SOLR_JAVA_MEM="-Xms16g -Xmx30g"
SOLR_OPTS="$SOLR_OPTS -Dsolr.jetty.request.header.size=1000000 -Dsolr.jetty.threads.stop.timeout=300000 -Ddisable.configEdit=true -Dsolr.allow.unsafe.resourceloading=true"
SOLR_OPTS="$SOLR_OPTS -XX:+UseConcMarkSweepGC -XX:-DisableExplicitGC -XX:-UseGCOverheadLimit"
SOLR_OPTS="$SOLR_OPTS -server -Djava.net.preferIPv4Stack=true -Duser.language=en -Duser.country=US -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.net.preferIPv6Addresses=false"
SOLR_OPTS="$SOLR_OPTS -Dsun.security.ssl.allowUnsafeRenegotiation=true -Dsolr.allow.unsafe.resourceloading=true"