Bonjour
Je réalise une application avec les outils suivants :
- Tomcat
- Spring
- Hibernate
Je developpe sous Eclipse / Win XP + plugin sysdeo
Je constate que mon application a tendance à prendre une place incroyable en mémoire. Comme je suis nouveau dans le développement J2EE, je ne sais pas si ceci est "normal".
Lors du démarage de Tomcat l'espace mémoire utilisé est de 38Mo environ. Au fil de l'exécution de requetes, cette taille explose sans que je ne connaisse ni ne comprenne la cause. Plus la requete a de résultat plus la taille de la mémoire utilisée par tomcat augmente.
Lorsque que mon appli effectue une requete, cela passe par hibernate qui me retourne un graphe d'objet. Je passe ce graphe à ma jsp qui affiche le résultat. A partir de là, le garbage collector est cencé détruire les objets ... mais cela n'a pas l'air d'etre le cas.
Je met bien quelques informations dans la session mais pas plus de quelques centaines d'octets, le problème ne vient donc surrement pas de là.
Problème : lorsque mon appli seras en production, la mémoire rique d'etre tres rapidement saturée du fait du grand nombre de requetes utilisateur.
J'aimerais savoir d'ou peut venir mon pb; savoir si vous pensez qu'une utilisation aussi importante de la mémoire est normale; pourquoi le garbage collector de libere apparement pas la mémoire prise par mes objets, fuite mémoire? ...
Je sais qu'il existe des outils permettant de visualiser l'utilisation de la mémoire, mais en existe t'il pour des applications J2EE / Tomcat? lesquels?
Je suis a l'écoute de toute proposition, mon stage fini d'ici peu, je souhaiterais résoudre ce problème.
Merci d'avance
Tomcat : -Xmx200M
Hibernate : ehcache désactivé
Partager