Augmenter l'espace permgen

Réponses:

142

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 PermGen pour être garbage collection

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Cela se produit généralement lors de nombreux redéploiements. Je suis surpris que vous ayez utilisé quelque chose comme l'indexation. Utilisez virtualvm ou jconsole pour surveiller l'espace de génération Perm et vérifiez qu'il se stabilise après le préchauffage de l'indexation.

Vous devriez peut-être envisager de passer à une autre machine virtuelle Java comme IBM JVM. Il n'a pas de génération permanente et est immunisé contre ce problème.

Peter Tillemans
la source
Merci!! Mais où dois-je l'écrire ?? Je suppose que dans un flile ici: tomcat / conf Ai-je tort ??
Blanca
1
Pour tomcat, vous pouvez créer une variable d'environnement CATALINA_OPTS avec comme valeur ces options concaténées. Le script de démarrage les ajoutera à la ligne de commande Java avant de démarrer tomcat. Cela ne peut pas être fait à partir de la configuration tomcat car la JVM est déjà configurée à ce stade.
Peter Tillemans
2
S'il s'agit de FreeBSD, ajoutez les options au fichier /etc/rc.conf. Lisez d'abord le script de démarrage de tomcat pour voir le paramètre exact qu'il recherchera.
Brian Knoblauch
3
Dans OpenJDK 7 CMSPermGenSweepingEnabled est obsolète en faveur de CMSClassUnloadingEnabled
Petr Gladkikh
12

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

Paroksh Saxena
la source
1
export JAVA_OPTS="-XX:MaxPermSize=128m"a travaillé pour moi avec Clojure + lein repl
Jeff
3

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 dans l'onglet "Arguments". Ajoutez -XX: MaxPermSize = 512m à la liste des arguments de la VM. Cliquez sur «Appliquer» puis sur «OK». Redémarrez votre serveur.

user3375152
la source
3

si vous découvrez que les paramètres de mémoire n'étaient pas utilisés et que pour modifier les paramètres de mémoire, j'ai utilisé le tomcat7w ou tomcat8w dans le dossier \ bin.Ensuite, ce qui suit devrait apparaître:

moniteur Tomcat

Cliquez sur l'onglet Java et ajoutez les arguments.

Kevin STS
la source
@ Jérémie BI n'a pas assez de points de réputation pour ajouter directement une image.
Kevin STS
0

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

der_do
la source