IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

mémoire PermGen saturée


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut mémoire PermGen saturée
    Bonjour,

    Nous sommes en train de développer une application web en JEE (hibernate, spring, struts 2, glassfish).
    Le problème que nous avons est que la mémoire de la jvm, la PermGen ne fait qu'augmenter à chaque déploiement. Comme si la jvm n'arrivait pas à recycler les classes chargées.

    Quelqu'un a-t-il déjà rencontré l'erreur ?

    Merci,
    Nicolas

  2. #2
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut
    Ah oui et je ne veux pas augmenter la mémoire de la PermGen car je sais que ça n'arrangerai pas le problème.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    problème assez courant, pas facile à localiser en général. Quoi que d'habitude c'est tomcat qui présente ces symptômes. Mes recommendations, pour commencer, seraient de voir à utiliser la version la plus récente possible d'hibernate (des versions anciennes étaient combinées à des versions de cglib posant problème). Ou, si c'est proposé par ton conteneur, la version adaptée à ton conteneur (ex: JBoss embarque une version d'hibernate).


    Deuxième chose important, vérifie que ton code ne démarre pas de Thread qui continuerait à tourner (même en pause) après redéploiement. Ce thread référence des classes, qui référencent le classloader, qui reste donc en mémoire. Dans le même ordred'idée, s'assurer qu'aucune donnée liée à ton application ne reste dans les Threads via des variables de ype "ThreadLocal" (donc toujours faire un set(null) sur tes ThreadLocal, il ne dois rien rester dans aucun thread).

    Troisième chose, lancer un profiler, prendre un des tes class, et regarder sa chaine de référence pour trouver qui continue à en garder une référence.

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut
    Ok merci pour ta réponse.

    En ce qui concerne Hibernate, on a corrigé le problème. On est passé à la dernière version qui utilise javassist. Les fuites de mémoire sont corrigé de ce côté là.

    Nous utilisons un framework développé par notre société. En regardant son code, en effet il y a l'utilisation de Thread. Je n'y connais pas grand chose mais je vais me renseigner et voir s'ils sont bien "nettoyés".

    As tu un profiler à me conseiller, je n'en ai jamais utilisé.

    Merci,
    Nicolas

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Salut!



    Concernant le profiler, essaye de contacter le FBI afin de savoir s'ils ont des adresses à te donner.
    Blague à part, des outils tels que JVisualVM, MAT d'Eclipse, JConsole pourraient t'aider.


  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    bonjour,
    je rencontre cette erreur parfois mais est-ce que le redémarrage d'éditeur ne résoudre pas le problème ???
    j'ai des résultats inattendus ..est-ce que cette erreur peut etre l'origine de ça ??
    et merci d'avance

  7. #7
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut
    Salut,

    qu'appelles-tu éditeur ? Si tu veux parler de glassfish, oui le redémarrage résout le problème. Mais j'aimerai savoir s'il n'y a pas un autre moyen.

    Nicolas

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    slt toujours avec cette erreur de mémoire ..j'utilise apache mais lorsque cette erreur m'apparait je dois redémarrer non le serveur mais le pc pour qu'elle disparaisse alors est-ce que je dois aller à la nouvelle version d'hibernate pour résoudre ça ?? et si oui est-ce que ça ne posera pas de problème avec version de spring ou jsf ???

    et merciiiii

Discussions similaires

  1. Galaxy S2, Mémoire presque saturée
    Par JeanThiou dans le forum Android
    Réponses: 0
    Dernier message: 02/01/2013, 09h53
  2. Bug - Photoshop mémoire vive saturée
    Par koKoTis dans le forum Windows Vista
    Réponses: 0
    Dernier message: 04/05/2009, 15h49
  3. mémoire vive saturée
    Par sebhm dans le forum Administration système
    Réponses: 4
    Dernier message: 19/07/2008, 21h16
  4. Réponses: 1
    Dernier message: 25/05/2007, 15h49
  5. [VBA-E] Saturation de la mémoire car trop de macros activées
    Par MrYoYo dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/12/2005, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo