2010-04-27 12 views
21

Je cours Tomcat sur un petit VPS (256 Mo/512 Mo) et je veux limiter explicitement la quantité de mémoire utilisée par Tomcat.Tomcat - Comment limiter le maximum de mémoire que Tomcat utilisera

Je comprends que je peux configurer cela d'une manière ou d'une autre en transmettant les arguments java maximum et heap size initial;

-Xmx256m 
-Xms128m 

Mais je ne trouve pas où mettre cela dans la configuration de Tomcat 6 sur Ubuntu.

Merci à l'avance,

Gav

Répondre

15

Set JAVA_OPTS dans votre script d'initialisation,

export JAVA_OPTS="-Djava.awt.headless=true -server -Xms48m -Xmx1024M -XX:MaxPermSize=512m" 
+0

Que fait '-Djava.awt.headless = true'? – danben

+0

Prévient les exceptions est que vous avez des applications plus anciennes rendant des graphiques http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/ – stacker

+1

Et -server optimise pour l'exécution sur un serveur? – gav

1

Vous pouvez ajouter à la variable JAVA_OPTS dans le script de démarrage bin/catalina.sh.

JAVA_OPTS="-Xms128m -Xmx256m"

+4

Si vous faites cela, vos paramètres seront perdus la prochaine fois que le paquet Tomcat sera mis à jour. – youri

+0

@youri est correct. C'est la raison pour laquelle vous feriez mieux de conserver des copies autonomes de serveurs vanilla vancat préconfigurés que vous clonez pour chacun de vos projets. –

+1

Un commentaire dans "bin/catalina.sh" recommande de stocker les changements de variable d'environnement dans " $ CATALINA_HOME/bin/setenv.sh ". – sunil

24

Sur Ubuntu, la bonne façon de personnaliser les variables Tomcat est en éditant le fichier

/etc/default/tomcat5.5 

(ou /etc/default/tomcat6 si vous avoir une version plus récente en cours d'exécution)

Dans ce fichier, définissez la variable JAVA_OPTS comme décrit dans les autres réponses ici , par exemple

JAVA_OPTS="-Xmx512m"

pour définir une mémoire maximale de 512 Mo.

+2

Tomcat7 est le même. – Adam