В образе 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.