-
problème heap space
Bonjour,
J'ai une application web qui tourne sur tomcat 5.0 déployé dans un serveur de 512 de RAM.
J'ai eu des problemes de Heap Space (Outofmemory).
Je ne sais pas comment résoudre mon problème. Est ce que quelqu'un a une solution?
Merci pour votre aide.:?
-
dans cette situation tu as en gros deux possibilité :
- ton serveur est sous-dimensionné par rapport aux nombres d'utilisateurs.
- existence d'une fuite mémoire
Pour t'aider à cerner un peu plus le problème, voici quelques pistes :
le premier cas, ca peut se résoudre simplement en augmentant la taille du heap. Tu peux également jouer sur la taille des générations du garbage collector (yound generation si tu as beaucoup d'objet à vie courte, permanent generation si tu as beaucoup de classes)
http://java.sun.com/docs/hotspot/gc5...ions%7Coutline
Enfin la c'est du tuning, et tu devrais préalablement faire une analyse de ton garbage collector au cours de l'exécution (-verbose:gc) avant tout :)
deuxième cas :
faire un test à nombre d'utilisateur constant et mesure l'évolution de la mémoire au cours du temps. Mesurer aussi le nombre de thread. Si ca augmente globalement, c'est une fuite mémoire. Coup classique : une liste qui grossit en mémoire sans jamais être vidée. Repère les variables static, les variables stockées dans le contexte ou la session (tu devrais mesurer la taille de la session au cours des actions utilisateurs), et le code qui les manipule.
-
Salut, ok merci pour ta réponse.
Je pense que l'erreur vient de la taille du heap vu que lorsque je démarre le serveur (Tomcat), il m'affiche entre autre le message: JVM 1.4.2_04-b05, memory=66M.
Je voudrais savoir comment augmenter la taille du heap. Quelles sont les instructions et quel niveau dois-je les executer?
Merci pour votre aide.
-
salut,
tu peux voir ce lien:
http://support.jalios.com/jcms/dk_10...ation#dk_10249
Sinon si tu développes avec JBuilder tu fais:
Execution->configuration->[choisir l'application]modifier->paramètre VM
et tu saisis la commande suivante : -Xmx512m -Xms512m
bien sûr c'est à toi de choisir la taille, tu peux mettre : -Xmx256m -Xms256m