2010-01-27 3 views
4

Je cours plusieurs tomcats sur une boîte de Red Hat et je voudrais configurer la taille séparée de tas pour chacun d'eux (quelques instances emploient plus de mémoire).Tomcat 6 Heap Size - Est-ce correct?

Puis-je régler la taille du tas min/max bt entrant la commande suivante dans le fichier catalina.sh:

CATALINA_OPTS = "- Xms64m -Xmx256M"

Ai-je besoin d'ajouter 'export'? c'est-à-dire exporter CATALINA_OPTS = "- Xms64m -Xmx256m"

Répondre

13

La meilleure pratique consiste à placer le paramètre des variables d'environnement dans un fichier nommé setenv.sh/.bat dans le dossier bin.

Le script catalina.sh a la logique d'appeler dans ce script, s'il existe.

La raison pour laquelle cela est recommandé est parce qu'il fait contenir des variables d'environnement nécessaires pour votre portable d'installation: vous pouvez facilement copier setenv.sh à d'autres installations Tomcat, vous pouvez mettre à jour Tomcat à une version plus récente (qui pourrait remplacer catalina.sh), mais encore Ayez votre setenv.sh existant.

Un exemple sur la façon de régler la taille du tas à l'intérieur setenv.sh:

export JAVA_OPTS='-Xmx784M` 
+13

Notez que 'CATALINA_OPTS' est un meilleur endroit que' JAVA_OPTS'. Le premier est utilisé uniquement lors du démarrage de l'instance Tomcat. 'JAVA_OPTS' est également utilisé pour démarrer les machines virtuelles Java qui interagissent uniquement avec Tomcat (par exemple, l'instance JVM utilisée pour envoyer le message shutdown à une instance Tomcat en cours d'exécution). Ces machines virtuelles n'ont généralement pas besoin de beaucoup de mémoire. –

+0

Wow, super point Joachim - merci pour ça. Je vais devoir mettre à jour tous nos scripts maintenant :) –

+0

@mattb Cela vous dérange-t-il de mettre à jour votre réponse pour qu'elle corresponde au commentaire de Joachim Sauer? –

1

Si vous ajoutez cela à quoi que ce soit dans l'installation Tomcat, il affectera toutes les instances exécutées sur cette machine.

Je pense que vous voulez définir JAVA_OPTS séparément, dans des scripts séparés, qui invoquent chacun le script de démarrage de Tomcat. Les scripts peuvent définir différentes tailles de tas. Oui, vous devez exporter.