12
votes

La partie Java Permgen est-elle une partie de la mémoire VM totale?

en supposant que je démarre mon Java VM avec les paramètres suivants:

-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m


1 commentaires

Pourquoi ne pas l'essayer? Devrait être immédiatement visible en haut / le gestionnaire de tâches.


3 Réponses :


16
votes

the -xms et -xmx référence référence à tas de mémoire , tandis que l'espace Permgen est un pool de mémoire séparé.

En d'autres termes, la taille totale de la mémoire disponible sur votre application Java sera de 1,5 gib plutôt que 1 GIB, et vous obtiendrez le gigaoctet complet de l'espace pour des objets alloués en tas.


0 commentaires

0
votes

Dans le JVM de Sun, la génération permanente ne fait pas partie du tas. C'est un espace différent pour les définitions de classe et les données associées, ainsi que des chaînes internes vivent.


0 commentaires

1
votes

Je viens de heurter cette page via Google. Ceci est certain de confusion si le pérenaire fait partie du tas ou non: La réponse est "Le tas est divisé en parties / générations plus petites et ces parties sont les suivantes: jeune génération, génération ancienne ou permanente et génération permanente". C'est ce que dit Oracle de dire le moins. Cela donne beaucoup plus de sens d'aller par ce que l'initiateur dit que par le public sur le domaine Web.

une petite note sur Permgen: La génération permanente contient des métadonnées requises par la JVM pour décrire les classes et les méthodes utilisées dans l'application. La génération permanente est peuplée par le JVM au moment de l'exécution basée sur des classes utilisées par l'application. De plus, les classes et méthodes de bibliothèque Java SE peuvent être stockées ici.


0 commentaires