Java: Nouvelle Génération Utilisé À 100%, L'Eden De L'Espace Utilisé À 100%, À Partir De L'Espace Utilisé À 100%
jmap -tas me donne de sortie qui dit:
Nouvelle Génération Utilisé À 100%, L'Eden De L'Espace Utilisé À 100%, À Partir De L'Espace Utilisé À 100%, À L'Espace Utilisé: 0%, Perm Génération Utilisée: 38%
Est-ce 100% de la Nouvelle, l'Eden, à Partir de l'espace - un problème?
Mon JAVA OPTE sont: -Xms10240m -Xmx14336m -XX:PermSize=192m -XX:MaxPermSize=256m -XX:NewSize=8192m -XX:MaxNewSize=8192m -XX:-DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
Je vois beaucoup de rapide de Collecte des Ordures. Mais pas de fuites de mémoire en utilisant des outils comme JConsole
L'Utilisation de la Mémoire peut être vu ici:
http://tinypic.com/view.php?pic=wo213&s=6
JDK 1.6 est en cours d'utilisation.
L'Application est publié à l'occasion lent. Globale de l'utilisation de la mémoire est bien, bien, bien en dessous de mémoire max. Mais la Nouvelle Gen, Eden etc. si souvent proche de 100%. Pourrait-il être le problème?
New Gen et Eden être complet peut déclencher beaucoup de GCs. Vérifiez cela avec jstat, et si il y a trop de GCs, vous souhaiterez peut-être augmenter Eden et/ou de la nouvelle génération de l'espace. Il aura un procès et le processus de l'erreur, cependant, de trouver votre configuration optimale.
OriginalL'auteur Jasper | 2012-06-28
Vous devez vous connecter pour publier un commentaire.
Eh bien, c'est comment intergénérationnel de la collection des œuvres.
Vous avez de jeunes de l'espace (eden, de, pour) et ancien de l'espace (occupation, perm). Les jeunes de l'espace est plus petit. Une fois que les jeunes de l'espace est plein (votre cas) - chose que l'on appelle mineur GC (jeunes GC) qui se passe.
Mais mineur GC doit être rapide. Une fois ancien espace est full full GC qui se passe (ce qui est beaucoup plus de temps).
Idée est d'avoir de plus en plus fréquentes rapide mineur GCs et beaucoup moins fréquentes plein GCs.
Vous pouvez lire beaucoup plus à l'explication détaillée en ce l'article
OriginalL'auteur Alexey Ragozin
J'ai trouvé les deux commandes suivantes très utile
ou
OriginalL'auteur Nikem
Peut-être prudent de vérifier pour les fuites de mémoire. Utilisation visualVM ou un autre outil (par exemple, Eckipse de la mémoire de l'analyseur) et de la joindre au processus.
Une fois que vous savez ce qui est des fuites, vous pouvez trouver ce qui est maintenant des références aux objets, tels que des
Aussi, je me demandais, quelle version JVM est cela, les paramètres que vous avez passé pour le GC, etc.
OriginalL'auteur ali haider