web-dev-qa-db-fra.com

Augmenter l'espace permgen

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

87
Blanca

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.

142
Peter Tillemans

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

11
Paroksh Saxena

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.

3
user3375152

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:

Tomcat monitor

Cliquez sur l'onglet Java et ajoutez les arguments.restart Tomcat

2
Kevin STS

Sur les distributions de type Debian, vous définissez cela dans /etc/default/Tomcat[67]

0
der_do