Question

J'utilise une application ICEFaces qui s'exécute sur JBOSS. Ma taille actuelle est définie sur

.

-Xms1024m & # 8211; Xmx1024m -XX: MaxPermSize = 256m

Quelle est votre recommandation pour ajuster les paramètres de mémoire pour JVM 6 JBOSS AS 5 (5.0.1 GA)?

Était-ce utile?

La solution

Selon cet article :

  

AS 5 est connu pour être gourmand en matière de PermGen . Lors du démarrage, il renvoie souvent OutOfMemoryException: erreur PermGen .

Cela peut être particulièrement gênant pendant le développement lorsque vous déployez fréquemment une application. Dans ce cas, JBoss QA recommande d'augmenter la taille de permgen, d'autoriser le déchargement des classes et de balayer le permgen :

-XX:PermSize=512m -XX:MaxPermSize=1024 -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Mais c’est plus une FYI, je ne suggère pas d’appliquer cette configuration à l’aveuglette (comme l’ont écrit les commentaires, "si elle n’est pas cassée, ne la corrigez pas").

En ce qui concerne la taille de votre tas, gardez toujours à l'esprit que: plus le tas est grand, plus le GC principal est long . Maintenant, quand vous dites "c’était vraiment trop petit", je ne sais pas vraiment ce que cela signifie (quelles erreurs, quels symptômes, etc.). À ma connaissance, un tas de 1024 m est en fait assez gros pour une application Web et devrait être largement suffisant pour la plupart d'entre eux. Méfiez-vous de la durée importante du GC.

Autres conseils

Heap: commencez par 512 Mo, définissez la limite maximale de votre application, et ne permettez pas à votre serveur de commencer à permuter.

Permgen: C’est en général assez stable, une fois que l’application lit toutes les classes utilisées dans l’application. Si vous avez testé l'application et qu'elle fonctionne avec 256 Mo, laissez-la ainsi.

@wds: Ce n'est certainement pas une bonne idée de définir le maximum de segment de mémoire aussi haut que possible pour deux raisons:

  1. Les gros tas font que la GC complète prend plus de temps. Si l’analyse PermGen est activée, un grand espace PermGen prendra plus de temps à GC également.
  2. JBoss AS sous Linux peut laisser les poignées d'E / S inutilisées ouvertes suffisamment longtemps pour que Linux les supprime de force, bloquant ainsi tous les processus de la machine jusqu'à leur achèvement (cette opération peut durer plus d'une minute!). Si vous oubliez d'éteindre le scanner de déploiement à chaud, cela se produira beaucoup plus souvent.

Cela se produirait peut-être une fois par semaine dans ma candidature jusqu'à ce que je:

  1. diminué -Xms à un point où le démarrage de JBoss AS commençait à ralentir
  2. diminution de -Xmx à un point où les CPG complets se produisaient plus souvent, le nettoyage du traitement d'E / S Linux a été arrêté

Pour les développeurs, je pense qu’il est bien d’augmenter PermGen, mais en production, vous ne souhaitez probablement utiliser que ce qui est nécessaire pour éviter de longues pauses GC.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top