2008-10-04 5 views
1

Je me demande comment vous allez concevoir une bonne chaîne d'espace permgen en Java. Sur la base de mes recherches et de compréhension que je suis venu avec ce qui suit:Comment concevez-vous une bonne chaîne d'espace permgen en Java?

exemple: JAVA_OPTS='-Xmx512m -XX:MaxPermSize=256m -server -Djava.awt.headless=true'

Désolé l'exemple n'a pas coller quand je posté la question ......

Répondre

5

I Je suis également un peu confus sur la question, mais si vous voulez dire quel est un bon nombre à utiliser pour la taille max permgen, cela dépendra de votre application et le nombre de classes/méthodes chargées. Pour vous aider à les déterminer, vous pouvez exécuter votre application avec ses cas d'utilisation typiques et les plus intenses et utiliser JConsole pour voir ce que votre application finit par utiliser.

JConsole peut afficher tous vos tas et votre espace de génération permanent, de sorte que vous pouvez déterminer le nombre requis pour MaxPermSize de cette façon. Comme il s'agit de données de classe + méthode, cela dépend du nombre de classes chargées par votre application, et non du nombre d'instances. Notez qu'il est également séparé de la taille du tas (et en fait, JConsole catégorise l'utilisation de la mémoire comme utilisation non-heap-memory). À la page JConsole que j'ai liée, voir la figure 5. C'est le non-heap le plus à droite et peut être cliqué.

Dans Java 6, les applications autorisent les connexions de JConsole sans configuration supplémentaire. En Java 5, vous devrez peut-être définir des drapeaux. Il est inclus avec le JDK.

Pour référence, pour une application qui a ~ 10 000 classes chargées, notre MaxPermSize est 96m

+0

Oui merci! C'est exactement le type d'information que je cherche .... –

Questions connexes