[TOMCAT] SEVERE: Failed to initialize java.lang.OutOfMemoryError: PermGen space
Publiée le 13 Juin 2013
Java est très très gourmand en ressource. L’administration des serveurs hébergeant des applications JAVA est un travail ardue.
Un problème que j’ai rencontré sur plusieurs serveurs tomcat durant mes différentes mission est le fameux :
Failed to initialize java.lang.OutOfMemoryError: PermGen space
Etant encore novice dans la gestion des environnements JAVA je suis resté assez perplexe devant un tel message d’erreur.
Je check mon fichier startup.sh pour voir si mon xmx et xms sont bien paramétrés:
export JAVA_OPTS= »-Djava.awt.headless=true -Dfile.encoding=UTF-8
-server -Xms2048m -Xmx2048m »
La solution est d’augmenter le Maxpermsize (qui correspond à la mémoire allouée aux process java non géré par le garbage collector dit ramasse miette).
Pour résoudre le problème il suffit de paramétrer votre JAVA_OPTS de la façon suivante:
export JAVA_OPTS= »-Djava.awt.headless=true -Dfile.encoding=UTF-8
-server -Xms2048m -Xmx2048m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m
-XX:MaxPermSize=256m -XX:+DisableExplicitGC »