-
-
Save radamuz/7d4c23a06a003d8f062e98bb2bd9cd69 to your computer and use it in GitHub Desktop.
tomcat's setenv.sh for dynamic set max-memory.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| memory_estimate_script=$(mktemp /tmp/tmp.XXXXXXXXXX) | |
| cat << EOF > $memory_estimate_script | |
| #!/bin/bash | |
| # Verifica si existe el archivo /proc/meminfo | |
| if [ ! -f /proc/meminfo ]; then | |
| echo 1024 | |
| exit 0 | |
| fi | |
| # Lee la primera línea del archivo /proc/meminfo que contiene "MemTotal" | |
| line=\$(grep -m 1 "MemTotal" /proc/meminfo) | |
| # Verifica si la línea contiene la palabra "MemTotal" y "kB" | |
| if [[ "\$line" == *"MemTotal"* && "\$line" == *"kB"* ]]; then | |
| # Extrae el valor numérico de la memoria | |
| memory_kb=\$(echo \$line | grep -oP '\d+') | |
| # Si se pudo extraer el valor | |
| if [ -n "\$memory_kb" ]; then | |
| # Calcula el 90% de la memoria en kB y conviértela a MB | |
| memory_mb=\$(echo "(\$memory_kb * 0.9) / 1024" | bc) | |
| echo "\$memory_mb" | |
| else | |
| echo 1024 | |
| fi | |
| else | |
| echo 1024 | |
| fi | |
| EOF | |
| memory_max_mb=$(bash $memory_estimate_script) | |
| export JAVA_HOME=/opt/java | |
| export JAVA_OPTS="-Xms512m -Xmx"$memory_max_mb"m -XX:+UseParallelGC -Duser.timezone=Asia/Taipei -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true " | |
| echo "JAVA_OPTS "$JAVA_OPTS |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment