web-dev-qa-db-fra.com

Comment définir correctement la taille de permgen?

J'ai ceci VM avec Tomcat, Java et Grails dedans. J'ai eu des erreurs permanentes, alors j'ai regardé autour de moi et trouvé la solution:

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

J'utilise SSH pour accéder à la machine virtuelle et taper 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. J'ai donc cherché à nouveau comment vérifier la permSize actuelle et voici la solution que j'ai trouvée:

jinfo -flag MaxPermSize 6444

6444 est le pid, et en réponse, j'ai eu ceci.

-XX:MaxPermSize=85983232

Question: La valeur de maxPermSize est-elle en octets? car, si tel est le cas, cela signifie que la commande Java_opts ne fonctionne pas. Je m'attends à obtenir 512m mais 85983232 octets = 82 mb .. Ou est-ce que je le vois mal ..? Quelqu'un peut-il m'éclairer à ce sujet? RÉ:

61
황현정

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

Linux & Mac OS: Ouvrez ou créez setenv.sh fichier 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"

Windows:

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

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

Ne mettez pas la configuration de l'environnement dans catalina.bat/catalina.sh. Vous devez plutôt créer un nouveau fichier dans CATALINA_BASE\bin\setenv.bat pour que vos personnalisations restent distinctes de l'installation de Tomcat.

21
matabares

Vous faites donc le bon choix en ce qui concerne "-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’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?

1
Loic O.