J'aimerais savoir comment déterminer la taille du tas requis pour une application autonome ainsi qu'un webApp en cours d'exécution sur un serveur Tomcat. P>
Comment déterminer la même chose après le déploiement sur le serveur. P>
Merci. P>
3 Réponses :
Vous pouvez commencer par profiler l'utilisation de la mémoire. Le JDK (6 à la hausse) a son Visual VM par exemple. Un outil que je préfère personnellement est le analyseur de mémoire Eclipse , à l'origine de SAP, maintenant ouvert. Vous pouvez analyser les décharges de tas ou les raccrocher jusqu'à un processus Java de votre choix.
Pour créer des vidanges de tas de tas, vous pouvez utiliser Ceci P>
Nous utilisons le -xloggc: gc-log.txt code> et
-xx: + printgcDétails code> sur la machine virtuelle et laissez-le courir pendant un moment (jours) avec hig Xmx paramètres, puis vous pouvez utiliser GCViewer pour rendre un diagramme à partir du journal et avoir une idée de quand Combien de RAM a été consommée, c'est-à-dire s'il y avait des pics, des limites atteintes, des charges de GC ralentissent l'application, etc. p>
règle suggéré par Taille de votre tas Java afin que votre application fonctionne avec un tas minimum
Utilisation de 40% et une utilisation maximale de 70%. P>
blockQuote>
-Xmx augmente, jusqu'à ce que aucune erreur de mémoire ne se produise et que l'utilisation de la CPU n'est pas dominée par le collecteur des ordures.