web-dev-qa-db-fra.com

Tomcat 7: Comment définir correctement la taille de tas initiale?

J'essayais d'ajuster la taille de tas initiale d'une instance de Tomcat 7 (CentOS, Java -version: 1.6.0_25-b06) en ajoutant la ligne suivante à catalina.sh:

export CATALINA_OPTS="-Xms=512M -Xmx=1024M"

Le démarrage de Tomcat échoue et enregistre le message suivant dans catalina.out:

Invalid initial heap size: -Xms=512m
Could not create the Java virtual machine.

Quel est le problème avec ces options?

65
GLA

Vous ne devez pas utiliser =. Utilisez simplement ceci:

export CATALINA_OPTS="-Xms512M -Xmx1024M"
109
Joachim Sauer

Utilisez la commande suivante pour augmenter Java la taille de segment de mémoire pour Tomcat7 (distributions Linux)) correctement:

echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/Tomcat7/bin/setenv.sh
27
MeJ

Vous pourriez ne pas avoir besoin d'avoir exportation, ajoutez simplement cette ligne dans catalina.sh:

CATALINA_OPTS="-Xms512M -Xmx1024M"
10
Phat H. VU

setenv.sh est préférable, car vous pouvez facilement transférer une telle configuration d'une machine à une autre ou d'une version de Tomcat à une autre. catalina.sh passe d'une version de Tomcat à une autre. Mais vous pouvez conserver votre setenv.sh inchangé avec n’importe quelle version de Tomcat.

Un autre avantage est qu’il est plus facile de suivre l’historique de vos modifications si vous l’ajoutez à votre système de sauvegarde ou de gestion de versions. Si vous regardez comment vous définissez les changements dans l'historique, vous ne verrez que vos propres modifications. Par contre, si vous utilisez catalina.sh, vous verrez toujours non seulement vos modifications, mais également celles apportées avec chaque nouvelle version de Tomcat.

3
mentallurg

Je viens de découvrir ceci et j'ai implémenté la solution de Nathan:

ajoutez la ligne (en modifiant les valeurs si nécessaire):

export Java_OPTS="-Xms512M -Xmx1024M"

à /usr/share/Tomcat7/bin/setenv.sh

Si ce fichier n'existe pas, créez-le et

chown root:root it
chmod 755 it

Et puis redémarrez Tomcat et vérifiez-le avec

ps aux | grep logging

Ce qui devrait juste prendre l’instance et montrer le Java parms

1
APA

Après avoir passé du bon temps sur ce sujet. J'ai trouvé que c'est ce à quoi le setenv.bat doit ressembler. Aucun "caractères ne sont acceptés dans le fichier de commandes.

set CATALINA_OPTS = -Xms512m -Xmx1024m -XX: PermSize = 128m -XX: MaxPermSize = 768m

echo hello "% CATALINA_OPTS%"

1
Dinesh Rajendran

Cela fonctionne même sans utiliser le mot clé 'export'. C'est ce que j'ai dans mon setenv.sh (/usr/share/Tomcat7/bin/setenv.sh) et ça marche.

Système d'exploitation: 14.04.1-Version du serveur Ubuntu: Apache Tomcat/7.0.52 (Ubuntu) Serveur construit: 30 juin 2016 01:59:37 Numéro de serveur: 7.0.52.0

Java_OPTS="-Dorg.Apache.catalina.security.SecurityListener.UMASK=`umask` -server -Xms6G -Xmx6G -Xmn1400m -XX:HeapDumpPath=/Some/logs/ -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Dcom.Sun.management.jmxremote.port=8181 -Dcom.Sun.management.jmxremote.authenticate=false -Dcom.Sun.management.jmxremote.ssl=false"
Java_OPTS="$Java_OPTS -Dserver.name=$HOSTNAME"
1
mdev

Attention aux changements dans les distributions Debian! J'ai essayé de changer CATALINA_OPTS dans Debian 7 et les résultats où Tomcat n’a plus commencé. J'ai donc résolu ce problème en modifiant la propriété Java_OPTS au lieu de CATALINA_OPTS, comme ça

export Java_OPTS="-Xms512M -Xmx1024M"

Allez dans le répertoire "Tomcat Directory"/bin

si Linux, créez ensuite setenv.sh sinon si Windows, créez ensuite setenv.bat

contenu du fichier setenv. *:

export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

après cela, redémarrez Tomcat avec de nouveaux paramètres.

explication et information complète est ici

http://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-Tomcat/

0
Musa

Si cela ne fonctionne pas dans votre machine centos 7 "export CATALINA_OPTS =" - Xms512M -Xmx1024M "", vous pouvez modifier la mémoire de tas à partir de vi /etc/systemd/system/Tomcat.service, puis cette valeur affichée dans votre Tomcat à l'aide de ps -ef | grep Tomcat.

0
Birendra Rawat