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 :

[TOMCAT5.5] Comportement curieux de la mémoire


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre actif Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Points : 231
    Points
    231
    Par défaut [TOMCAT5.5] Comportement curieux de la mémoire
    Bonjour

    je travaille actuellement sur une appli web utilisant Spring, Ibatis et Velocity tournant sous Tomcat5.5.

    Depuis un temps certains , nous avons des problèmes de mémoire qui se transforme inéluctablement en outOfMemory.
    J'ai donc récupéré JProfiler (et une licence de 10 jours...), et j'ai constaté que
    • tous les objets utilisés pour afficher une page web restaient en mémoire
    • tous les pojos pour la génération d'un pdf à l'aide de jasperReport restaient également en mémoire ...
    • au bout d'un moment, ça ralentit puis ça plante : outOfMemory
    En forçant le garbageCollector via JProfiler, la situation revient assez normal. Mais j'ai du mal à comprendre ce comportement.
    Pourquoi la mémoire ne se vide pas automatiquement et régulièrement après la génération d'une page web ou d'un report ?

    Merci d'éclairer ma lanterne...

  2. #2
    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
    dans la jvm, la mémoire n'est nettoyée qu'en cas de besoin. donc c'est uniquement quand on commence à manquer de mémoire que le garbage collector nettoie tout ce qui n'est plus utilisé. Si, en forcant le garbage collector, "tout redeviens normal", alors ce n'est pas la cause de ton outofmemory error, puisque celui-ci ne sruviens que si on arrive plus à trouver assez de mémoire, même après un garbage collect. C'est d'ailleur la raison de ton ralentissement, il y a ralentissement quand tu deviens tellement faible en mémoire disponible ou libérable que, pour chque allocation d'objet, le garbage collector a besoin de tourner pour trouver quelques malheureux octets quelque part.

    Je te suggère de faire tourner ton appli en production avec jprofiler en attente (config client / serveur en précisant que l'application ne doit pas attendre la connection du profiler pour démarrer). quand le ralentissement arrive, tu connect JProfiler, et tu fait un heapwalker pour trouver quels objets trainent et *surtout* QUI maintient les références. Ca met un peu de temps à trouver, mais c'est toujours beaucoup plus rapide avec un profiler (1 ou 2 jours) qu'à la main (1 à 2 mois )

Discussions similaires

  1. [Détente] Les API étranges: ces classes au comportement curieux.
    Par grunt2000 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 14/11/2007, 15h31
  2. [JScrollBar] comportement curieux
    Par rems033 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 01/10/2007, 11h06
  3. [Cookies] Mes cookies ont un comportement curieux
    Par Jinx_ dans le forum Langage
    Réponses: 2
    Dernier message: 16/03/2007, 17h11
  4. [Rewrite .htaccess] Comportement curieux aussi
    Par Bensor dans le forum Apache
    Réponses: 2
    Dernier message: 23/12/2006, 14h22
  5. comportement curieux font-bold sous ffx ?
    Par SpaceFrog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 22/06/2006, 12h51

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