62 votes

Comment puis-je définir correctement la taille du permgen ?

J'ai cette VM avec tomcat, java et grails. J'ai obtenu des erreurs de permgens, alors j'ai cherché et trouvé la solution :

set JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"

J'utilise SSH pour accéder à la vm et tape les arguments ci-dessus. Je suppose que cela devrait régler le problème. Le problème est que je voulais être sûr de l'avoir fait correctement. J'ai donc cherché à nouveau comment je pouvais vérifier la taille actuelle de permSize et voici la solution que j'ai obtenue :

jinfo -flag MaxPermSize 6444

6444 est le pid, et comme réponse, j'ai obtenu ceci.

-XX:MaxPermSize=85983232

Question : La valeur de maxPermSize est-elle en octets ? car si c'est le cas, cela signifie que la commande java_opts n'a pas fonctionné. Je m'attends à obtenir 512m mais 85983232 octets = 82 mb . Ou est-ce que je vois mal ? Quelqu'un peut-il m'éclairer sur ce point ? D :

76voto

amicngh Points 4464

Vous devez modifier les valeurs dans le CATALINA_OPTS définie dans le fichier de démarrage de Tomcat Catalina. Pour augmenter le PermGen la mémoire modifie la valeur de la MaxPermSize sinon, changez la valeur de la variable Xmx variable.

Linux : Ouvrir Catalina.sh placé dans le répertoire "bin". Vous devez appliquer les changements à cette ligne

CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"

Les fenêtres :

Ouvrez le fichier "Catalina.bat" placé dans le répertoire "bin".

set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m

21voto

matabares Points 91

Ne mettez pas la configuration de l'environnement dans catalina.bat/catalina.sh. Au lieu de cela, vous devez créer un nouveau fichier dans CATALINA_BASE \bin\setenv.bat pour garder vos personnalisations séparées de l'installation de tomcat.

1voto

magnus Points 148

Vous faites donc ce qu'il faut en ce qui concerne "-XX:MaxPermSize=512m" : c'est en effet la syntaxe correcte. Vous pouvez essayer de définir ces options directement dans les fichiers du serveur Catalyna afin qu'elles soient utilisées au démarrage du serveur.

Peut-être que ce post vous aidera !

Comment s'assurer que Tomcat6 lit CATALINA_OPTS sous Windows ?

Prograide.com

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.

Powered by:

X