Bonjour,
je travaille sur une grosse application Web qui tourne avec Tomcat 5.5.12. Nous avons notre propre système de template et il y a donc une classe qui se charge de les remplir.
Lorsque nous voulons générer une très grosse page (genre un listing avec plus de 1000 résultats, et c'est pas si rare), la mémoire grimpe jusqu'à des 100 voir 150 mo et le CPU est à 98 - 99% (il doit s'agir du Garbage Collector).
Après un petit dépoussierage du code (la classe utilisait des String partout tout le temps alors j'ai mis des StringBuffer), rien n'a changé. Pourtant, je vide les StringBuffer, je le met même à null à la fin pour que le GC fasse son job proprement mais la mémoire gonfle toujours.
Ma supposition est que Tomcat garde dans une sorte de cache les résultats des requêtes et que le GC ne peut donc pas libérer ces ressources...
Est-ce que quelqu'un à déja eu un pareil problème ? Quelqu'un sait-il si ma supposition semble être bonne ? Dans ce cas, y a t'il moyen d'empêcer Tomcat d'utiliser un cache ?
Partager