web-dev-qa-db-fra.com

Augmenter les paramètres de mémoire de Tomcat

Duplicate possible:
Traitement de l'erreur “Java.lang.OutOfMemoryError: PermGen space”

J'ai 8 Go RAM dans ma machine de développement et j'essaie de lancer Apache Tomcat (7.0.29) pour héberger à la fois Artifactory (2.6.3) et Jenkins (1,479) au même moment. J'ai essayé de trouver les besoins en mémoire pour Jenkins mais il semble que leur wiki soit en panne.

Dans ${Tomcat_HOME}/bin/catalina.sh, j'ai ajouté la commande suivante:

CATALINA_OPTS="$CATALINA_OPTS -server -Xms1024m -Xmx3052m"

Cela devrait maintenir la JVM de Tomcat entre (essentiellement) 1 à 3 Go de taille, me laissant ainsi assez de place pour d'autres tâches ( et donnant suffisamment de mémoire à Tomcat pour Artifactory/Jenkins, et même d'autres si je voulais.

(Pour ce que ça vaut, j'ai essayé la même chose avec Java_OPTS seulement pour obtenir le même résultat exact). Je sauvegarde cette modification et lance startup.sh. Tomcat commence à démarrer, puis meurt lorsque OOME se plaint que Tomcat est à court d'espace PermGen:

Exception in thread "SocketListener(<hex-stuff>.local.)"
Java.lang.OutOfMemoryError: PermGen space
Java.lang.OutOfMemoryError: PermGen space
Java.lang.OutOfMemoryError: PermGen space
Exception in thread "hudson initialization thread" Java.lang.OutOfMemoryError: PermGen space
Java.lang.OutOfMemoryError: PermGen space

Où vais-je aller ici? J'ai lu plusieurs articles sur la façon de procéder et (croyez!), Je les suis précisément. Avez-vous des idées ou des idées sur la façon dont je pourrais résoudre ce problème? Merci d'avance!

72
IAmYourFaja

essayez de mettre ceci

CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

dans {$Tomcat-folder}\bin\setenv.sh (créez-le si nécessaire).

Voir http://www.mkyong.com/Tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ pour plus de détails.

127
sgpalit