235 votes

PermGen élimination dans le JDK 8

J'ai installé le JDK 8 et en essayant de lancer Eclipse. J'obtiens le message d'avertissement suivant:

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m;
support was removed in 8.0 

Quelles sont les raisons de la méconnaissance de cet argument?

367voto

pardeep131085 Points 541

Raisons de non-respect de ces argument est permanente génération a été supprimé dans le HotSpot de la JDK8 en raison des inconvénients suivants

  • Taille fixe au démarrage – difficile à accorder.
  • Interne Hotspot types d'objets Java : puisse se déplacer avec plein GC, opaque, pas fortement typé et difficile à déboguer, nécessaire méta-métadonnées.
  • Simplifier les collections complètes : Spécial des itérateurs pour les métadonnées pour chaque collecteur
  • À désallouer de la classe de données simultanément et non pas lors de GC pause
  • Permettre aux futures améliorations qui ont été limitées par le PermGen.

La Génération Permanente (PermGen) de l'espace a été complètement retiré et est en quelque sorte de le remplacer par un nouvel espace appelé Metaspace. Les conséquences de la PermGen l'enlèvement est que de toute évidence, la PermSize et MaxPermSize JVM arguments sont ignorés et vous n'obtiendrez jamais de java.lang.OutOfMemoryError: PermGen erreur.

Avantages de MetaSpace

  • Profitez de Java Langage de Spécification de la propriété : les Classes et les métadonnées associées correspondre à la durée de vie de la classe loader
  • Par le chargeur de la zone de stockage – Metaspace
  • Linéaire allocation seulement
  • Aucun individu de remise en état (sauf pour RedefineClasses et de chargement de classe à l'échec)
  • Pas de GC d'analyse ou de compactage
  • Pas de réinstallation pour metaspace objets

Metaspace Tuning

Le maximum de metaspace la taille peut être définie à l'aide de la -XX:MaxMetaspaceSize drapeau, et la valeur par défaut est illimité, ce qui signifie que seule la mémoire du système est la limite. La -XX:MetaspaceSize tuning drapeau définit la taille initiale de metaspace Si vous ne spécifiez pas ce paramètre, le Metaspace permettra de redimensionner dynamiquement en fonction de la demande la demande au moment de l'exécution.

Modification permet à d'autres optimisations et fonctionnalités dans le futur

  • La classe d'Application de partage de données
  • Les jeunes de la collecte des optimisations, G1 classe de déchargement
  • Métadonnées les réductions de la taille et de l'intérieur de la JVM de l'empreinte projets

Amélioration de la GC de performance aussi. Plus de détails

118voto

assylias Points 102015

C'est l'une des nouvelles fonctionnalités de Java 8, une partie de JDK Amélioration des Propositions 122:

Supprimer la génération permanente de la JVM Hotspot et donc la nécessité de régler la taille de la génération permanente.

La liste de tous les Pec qui sera inclus dans Java 8 peuvent être trouvés sur le JDK8 jalons.

21voto

Dhrumil Shah Points 113

La Génération Permanente (PermGen) de l'espace a été complètement retiré et est en quelque sorte de le remplacer par un nouvel espace appelé Metaspace.Les conséquences de la PermGen l'enlèvement est que de toute évidence, la PermSize et MaxPermSize JVM arguments sont ignorés et vous n'aurez jamais une java.lang.OutOfMemoryError: PermGen erreur. Le JDK 8 de la JVM HotSpot est maintenant en utilisant natif de la mémoire pour la représentation des métadonnées de la classe et est appelé Metaspace. Lire La Suite>>

17voto

Sebastian Redl Points 18816

Parce que le PermGen space a été supprimé. Gestion de la mémoire a un peu changé.

http://java.dzone.com/articles/java-8-permgen-metaspace

10voto

chrylis Points 22655

Oracle de la JVM pour Java 8 débarrassé de la PermGen modèle et l'a remplacé par Metaspace.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X