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

Tomcat et TomEE Java Discussion :

Probleme Memory Tomcat


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut Probleme Memory Tomcat
    Bonjour,

    j'ai un gros soucis de performance sur une application...

    j'ai un tomcat 6 sur un server dédié, il n'y a qu'une application dessus.

    je deploye le war, demarré l'applic, elle se lance en qques secondes : ressource memoire du tomcat : ~100mo
    apres 2 jours d'utilisations : tomcat 1,6go :o et l'applic met plus de 10min à se lancer...

    app : java flex

    comment libérer la memoire??

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    comment libérer la memoire??
    La mémoire se libère toute seule.
    La JVM consomme de la mémoire dès lors qu'elle a de la place pour travailler.
    Ensuite quand elle n'a plus de place, elle nettoie les objets devenus inutiles (Garbage Collector).

    La taille de la mémoire n'est de toute manière pas directement responsable des ralentissements observés sur le fonctionnement de l'application. Mais elle peut être indirectement responsable: si des FULL GC se déclenchent très fréquemment et ne parviennent jamais à libérer un espace assez confortable.
    Les logs tomcat devraient donner des informations sur le comportement du GC.

    Par ailleurs, il faudrait faire un Thread Dump et un Heap Dump pour comprendre un peu mieux ce qui dérappe.

    Le Thread dump pour savoir ce qui tourne dans la JVM :
    Le thread dump sort normalement dans la log de tomcat.

    Le heap dump pour savoir quels objets sont instanciés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jmap -histo <pid tomcat>
    Il est possible d'aller plus loin en terme d'analyse, mais déjà le comportement du GC et ces deux Dumps peuvent aider pour cerner le problème.

    PS: si c'est dans un contexte professionnel, n'hésitez pas à vous adresser à des professionnels de la performance Java.
    Dernière modification par Invité ; 07/01/2011 à 14h59.

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut
    Merci je vais un peu regarder à ceci.

    Sinon j'ai remarqué ceci ds les log catalina...


    GRAVE: The web application ************ registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    07-janv.-2011 21:33:36 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    GRAVE: The web application ************ registered the JBDC driver [net.sourceforge.jtds.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    07-janv.-2011 21:33:36 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    GRAVE: The web application ************ appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.
    07-janv.-2011 21:33:36 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    GRAVE: The web application ************ appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
    07-janv.-2011 21:33:36 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    GRAVE: The web application ************ appears to have started a thread named [Thread-4] but has failed to stop it. This is very likely to create a memory leak.
    07-janv.-2011 21:33:36 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    GRAVE: The web application ************ created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@820846]) and a value of type [flex.messaging.config.SystemSettings] (value [flex.messaging.config.SystemSettings@ed3e63]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    07-janv.-2011 21:33:36 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    GRAVE: The web application ************ created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@19b0124]) and a value of type [flex.messaging.MessageBroker] (value [flex.messaging.MessageBroker@167f4bf]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    07-janv.-2011 21:33:36 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    GRAVE: The web application ************ created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1f53293]) and a value of type [org.springframework.flex.core.MessageBrokerFactoryBean.DelegatingServletConfig] (value [org.springframework.flex.core.MessageBrokerFactoryBean$DelegatingServletConfig@cb800f]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    cherchez pas plus loin, votre application crée de classloader leak durant ses undeploy. C'est assez courant. Il y a un raison particulière pour faire des redémarrages régulier de votre application web? Et vu qu'elle est seule, il y a une raison particulière pour ne pas redémarrer aussi le tomcat?

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut
    disons que c'est assez contraignant de devoir redemarrer le tomcat tous les 2 jours

    "c'est assez courant" mais normal? cmt le resoudre?

    disons qu'il y a bcp d'utilisateur de lieu different qui y accedent, donc ils ouvrent une nouvelle session a chaque fois...
    a chaque launch de l'app, cela fait environ +30mo au tomcat

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    non d'après vos log vous faites du deploy/undeploy, et c'est à ce moment là que vous avez du memory leak!


    Si ce n'est pas le cas (et que ce log viens juste d'un arrêt de tomcat), il n'est alors en aucun cas lié à votre perte de mémoire. Si tomcat se prend +30M à chaque nouvel utilistaeur, la cause est à aller chercher dans le design de votre application. Pareil si les données restent même après destruction de la session.


    donc pour faire clair: est-ce que vous faites des démarrage/arrêt régulier de votre session? Si oui, redémarrer tomcat en même temps, ce n'est pas contraignant. Si non, c'est votre application qui a été développée avec les pieds

Discussions similaires

  1. Probleme avec Tomcat et NetBeans5.0
    Par jeha dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 08/05/2006, 22h01
  2. [struts] probleme de tomcat?
    Par pouss dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 04/05/2006, 15h36
  3. Probleme Eclipse Tomcat
    Par fadex dans le forum Eclipse Java
    Réponses: 12
    Dernier message: 06/04/2006, 04h22
  4. [Tomcat]Probleme avec Tomcat
    Par Timouyas dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 26/12/2005, 07h47
  5. [Plugin][MyEclipse]Probleme MyEclipse,Tomcat et java 1.5
    Par dguenard dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 13/06/2005, 13h15

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