Comment définir correctement la taille du permgen?

J’ai cette VM avec tomcat, java et grails dedans. J’ai eu des erreurs de permgen alors j’ai regardé autour et trouvé la solution:

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

J’utilise SSH pour accéder à la vm et tapez les arguments ci-dessus. Je suppose que cela réglerait le problème. La chose est, je voulais m’assurer que je l’ai fait correctement. Donc, j’ai encore cherché comment je pouvais vérifier le permSize actuel et c’est la solution que j’ai:

 jinfo -flag MaxPermSize 6444 

6444 est le pid, et en réponse, j’ai compris.

 -XX:MaxPermSize=85983232 

Question: La valeur de maxPermSize est-elle en octets? car si c’est le cas, cela signifierait que la commande java_opts ne fonctionnait pas. Je m’attends à obtenir 512m mais 85983232 octets = 82 Mo .. Ou je le vois mal ..? Quelqu’un peut-il m’éclairer là-dessus? RÉ:

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

Linux et Mac OS: Ouvrez ou créez le fichier setenv.sh placé dans le répertoire “bin”. Vous devez appliquer les modifications à cette ligne:

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

Les fenêtres:

Ouvrez ou créez le fichier setenv.bat placé dans le répertoire “bin”:

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

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 que vos personnalisations restnt distinctes de l’installation de tomcat.

Donc, vous faites la bonne chose concernant “-XX: MaxPermSize = 512m”: c’est bien la syntaxe correcte. Vous pouvez essayer de définir ces options directement sur les fichiers du serveur Catalyna afin qu’ils soient utilisés au démarrage du serveur.

Peut-être que cet article vous aidera!

Comment s’assurer que Tomcat6 lit CATALINA_OPTS sous Windows?

Complètement enlevé de Java 8 +
Partiellement retiré de Java 7 (chaînes internes par exemple)
la source