Изменить параметры JVM для Solr - PullRequest
0 голосов
/ 12 сентября 2018

Как мне указать другой тип сборщика мусора для Dockerized Solr7?Моя команда запуска докера выглядит следующим образом:

docker run -d --restart always --name solrcloud \
-p 8983:8983 --net host myrepo/my-fusion-solr-image:latest \
bin/solr -c -f -a -javaagent:/opt/newrelic/newrelic.jar \
-Dnewrelic.environment=dev -Ddisable.configEdit=true \
-z dev-fusion-zk.aws.myhost.net:2181/dev-fusion -m 30g

Я пытаюсь следовать этой статье: https://wiki.apache.org/solr/ShawnHeisey Где именно я должен указать -XX:+UseG1GC?

1 Ответ

0 голосов
/ 13 сентября 2018

В образе Dockerfile для Solr добавьте следующий шаг:

# Use G1GC garbage collector
# https://wiki.apache.org/solr/ShawnHeisey
RUN sed -i -e 's/^#GC_TUNE.*/GC_TUNE=" \
-XX:+UseG1GC \
-XX:+PerfDisableSharedMem \
-XX:+ParallelRefProcEnabled \
-XX:G1HeapRegionSize=8m \
-XX:MaxGCPauseMillis=250 \
-XX:InitiatingHeapOccupancyPercent=75 \
-XX:+UseLargePages \
-XX:+AggressiveOpts \
"/' /opt/solr/solr-$SOLR_VERSION/bin/solr.in.sh

В Solr 7.2.1 этот файл bin/solr.in.sh выглядит так, как будто он был добавлен специально для переопределения некоторых конфигов в bin/solr.Там в bin/solr.in.sh есть закомментированная строка, начинающаяся с #GC_TUNE=.Если мы раскомментируем эту строку, она переопределит переменную GC_TUNE в команде bin/solr.

sed в приведенном выше фрагменте, заменив эту строку требуемыми настройками.Обратите внимание, что sed может действовать по-разному в разных средах и может потребовать некоторых модификаций для работы в вашем случае.Пожалуйста, проверьте его, прежде чем подключать в свой докер-файл.Вышеуказанный фрагмент работает для centos.

...