Je travaille avec tomcat 6.0, et pendant que je suis en train d'indexer (pas pendant que je démarre tomcat), j'ai une erreur d'espace permgen.
Comment pourrais-je augmenter cet espace??
Merci
Je travaille avec tomcat 6.0, et pendant que je suis en train d'indexer (pas pendant que je démarre tomcat), j'ai une erreur d'espace permgen.
Comment pourrais-je augmenter cet espace??
Merci
Vous pouvez utiliser :
-XX:MaxPermSize=128m
pour augmenter l'espace. Mais cela ne fait généralement que retarder l'inévitable.
Vous pouvez également activer la collecte des déchets de PermGen
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Cela se produit généralement lors de nombreux redéploiements. Je suis surpris que vous ayez cela en utilisant quelque chose comme l'indexation. Utilisez virtualvm ou jconsole pour surveiller l'espace Perm gen et vérifiez qu'il se stabilise après avoir réchauffé l'indexation.
Peut-être devriez-vous envisager de passer à un autre JVM comme le JVM IBM. Il n'a pas de génération permanente et est immunisé contre ce problème.
Pour tomcat, vous pouvez augmenter l'espace permGem en utilisant
-XX:MaxPermSize=128m
Pour cela, vous devez créer (si ce n'est pas déjà fait) un fichier nommé setenv.sh dans le dossier tomcat/bin et inclure la ligne suivante :
export JAVA_OPTS="-XX:MaxPermSize=128m"
Référence : http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
Vous pouvez également l'augmenter via les arguments VM dans votre IDE. Dans mon cas, j'utilise Tomcat v7.0 qui fonctionne sur Eclipse. Pour ce faire, double-cliquez sur votre serveur (Tomcat v7.0). Cliquez sur le lien 'Ouvrir la configuration de lancement'. Allez à l'onglet 'Arguments'. Ajoutez -XX:MaxPermSize=512m à la liste des arguments VM. Cliquez sur 'Appliquer', puis sur 'OK'. Redémarrez votre serveur.
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.