67 votes

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

J'ai essayé d'ajuster la taille initiale du tas 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.

Qu'est-ce qui ne va pas avec ces options ?

17 votes

Ne modifiez pas catalina.sh. Voyez la bonne façon de faire décrite dans ce billet : http://stackoverflow.com/a/10950387/926057

111voto

Joachim Sauer Points 133411

Vous ne devez pas utiliser = . Il suffit d'utiliser ce formulaire :

export CATALINA_OPTS="-Xms512M -Xmx1024M"

2 votes

J'ai créé un fichier setenv.sh dans le dossier bin de tomcat et j'ai ajouté cette ligne, et cela a fonctionné !

0 votes

Quelle est la taille maximale que l'on peut définir dans Xmx ? J'ai 65 Go de mémoire vive.

0 votes

@vinodh : les commentaires ne sont pas l'endroit pour poser des questions distinctes.

27voto

MeJ Points 335

Utilisez la commande suivante pour augmenter correctement la taille du tas de Java pour tomcat7 (distributions linux) :

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

11voto

Phat H. VU Points 1246

Il n'est peut-être pas nécessaire d'avoir l'exportation Il suffit d'ajouter cette ligne dans catalina.sh :

CATALINA_OPTS="-Xms512M -Xmx1024M"

23 votes

PAS à catalina.sh ! Mettez-le à l'intérieur /usr/share/tomcat7/bin/setenv.sh c'est le bon endroit pour le faire.

3voto

mentallurg Points 2394

Setenv.sh est meilleur, car vous pouvez facilement porter cette configuration d'une machine à l'autre, ou d'une version de Tomcat à l'autre. catalina.sh change d'une version de Tomcat à l'autre. Mais vous pouvez garder 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 des versions. Si vous regardez comment vous avez modifié setenv.sh dans l'historique, vous ne verrez que vos propres modifications. Alors que si vous utilisez catalina.sh, vous verrez toujours non seulement vos changements, mais aussi les changements apportés par chaque nouvelle version de Tomcat.

2voto

Musa Points 820

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

si Linux, créer setenv.sh si Windows, créer 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 les nouveaux paramètres.

L'explication et les informations complètes sont ici

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X