Après plusieurs recherches j'ai trouvé ce poste qui explique le mécanisme de déploiement à chaud :
Les mécanismes de déploiement à chaud ou d'interception impliquent généralement la génération de classes (.class) par des bibliotheques telle asm, cglib. Tout ces nouveaux objets sont instanciés dans une zone spéciale de la JVM, la mémoire permanente, PermGen. Apres plusieurs utilisations, ces mécanisment peuvent provoquer un remplissage complet de cette zone et provoquer des erreurs du type PermGen Out of Space. Deux solutions:
* augmenter cette zone avec les parametres -XXermSize -XX:MaxPermSize, mais cela reste un pansement, tôt ou tard, la PermGen sera pleine
* permettre à la JVM d'effectuer des déchargements et du nettoyage de ces objets: -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Issu du post suivant :
http://www.developpez.net/forums/d42...ation-memoire/
Partager