Implement elasticsearch memory limits when requirements aren't met

This commit is contained in:
Evgeniy Antonyuk 2024-01-13 18:53:40 +08:00
parent f6c2a78c8d
commit c1c55513a3

View File

@ -647,30 +647,25 @@ change_elasticsearch_config(){
sed -i "s/ingest.geoip.downloader.enabled.*/ingest.geoip.downloader.enabled: false/" ${ELASTIC_SEARCH_CONF_PATH}
fi
ELASTIC_SYSTEMD_DIR="${SYSTEMD_DIR}/elasticsearch.service.d"
mkdir -p "${ELASTIC_SYSTEMD_DIR}"
if [ ! -e "${ELASTIC_SYSTEMD_DIR}/overwrite.conf" ]; then
echo "[Service]" > "${ELASTIC_SYSTEMD_DIR}/overwrite.conf"
echo "TimeoutStartSec=600" >> "${ELASTIC_SYSTEMD_DIR}/overwrite.conf"
systemctl daemon-reload >/dev/null 2>&1
fi
local TOTAL_MEMORY=$(free -m | grep -oP '\d+' | head -n 1);
local MEMORY_REQUIREMENTS=12228; #RAM ~4*3Gb
if [ ${TOTAL_MEMORY} -gt ${MEMORY_REQUIREMENTS} ]; then
if ! grep -q "[-]Xms1g" ${ELASTIC_SEARCH_JAVA_CONF_PATH}; then
echo "-Xms4g" >> ${ELASTIC_SEARCH_JAVA_CONF_PATH}
else
sed -i "s/-Xms1g/-Xms4g/" ${ELASTIC_SEARCH_JAVA_CONF_PATH}
fi
ELASTICSEATCH_MEMORY="4g"
else
ELASTICSEATCH_MEMORY="1g"
fi
if ! grep -q "[-]Xmx1g" ${ELASTIC_SEARCH_JAVA_CONF_PATH}; then
echo "-Xmx4g" >> ${ELASTIC_SEARCH_JAVA_CONF_PATH}
else
sed -i "s/-Xmx1g/-Xmx4g/" ${ELASTIC_SEARCH_JAVA_CONF_PATH}
fi
if grep -qE "^[^#]*-Xms[0-9]g" "${ELASTIC_SEARCH_JAVA_CONF_PATH}"; then
sed -i "s/-Xms[0-9]g/-Xms${ELASTICSEATCH_MEMORY}/" "${ELASTIC_SEARCH_JAVA_CONF_PATH}"
else
echo "-Xms${ELASTICSEATCH_MEMORY}" >> "${ELASTIC_SEARCH_JAVA_CONF_PATH}"
fi
if grep -qE "^[^#]*-Xmx[0-9]g" "${ELASTIC_SEARCH_JAVA_CONF_PATH}"; then
sed -i "s/-Xmx[0-9]g/-Xmx${ELASTICSEATCH_MEMORY}/" "${ELASTIC_SEARCH_JAVA_CONF_PATH}"
else
echo "-Xmx${ELASTICSEATCH_MEMORY}" >> "${ELASTIC_SEARCH_JAVA_CONF_PATH}"
fi
if [ -d /etc/elasticsearch/ ]; then