Je travaille avec Tomcat 6.0 et, alors 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 le nettoyage de PermGen.
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Cela se produit généralement lors de nombreux redéploiements. Je suis surpris que vous l'utilisiez avec quelque chose comme l'indexation. Utilisez virtualvm ou jconsole pour surveiller l’espace Perm gen et vérifiez qu’il se stabilise après le préchauffage de l’indexation.
Peut-être devriez-vous envisager de passer à une autre machine virtuelle Java telle que la machine virtuelle 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 (s'il n'existe pas déjà) un fichier nommé setenv.sh dans le dossier Tomcat/bin et y 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 de votre IDE. Dans mon cas, j'utilise Tomcat v7.0 qui s'exécute sur Eclipse. Pour ce faire, double-cliquez sur votre serveur (Tomcat Cliquez sur le lien 'Ouvrir la configuration de lancement'. Allez sur l'onglet 'Arguments'. Ajoutez -XX: MaxPermSize = 512m à la liste d'arguments VM. Cliquez sur 'Appliquer' puis sur 'OK' Redémarrez votre serveur.
si vous avez découvert que les paramètres de mémoire n'étaient pas utilisés et pour modifier les paramètres de mémoire, j'ai utilisé Tomcat7w ou Tomcat8w dans le dossier\bin.Ensuite, les éléments suivants devraient apparaître:
Cliquez sur l'onglet Java et ajoutez les arguments.restart Tomcat
Sur les distributions de type Debian, vous définissez cela dans /etc/default/Tomcat[67]