Quelle est la différence entre
-Xms4096m
-Xmx2048M
-XX:MaxPermSize=712M
Je suis confus de ces deux -Xmx2048M
et -XX:MaxPermSize=712M
et se produira si j'utilise -Xmx2048 M
ou -Xmx2048 m
Les objets Java résident dans une zone appelée heap, tandis que les métadonnées telles que les objets de classe et les objets de méthode résident dans génération permanente ou région de Perm Gen. La génération permanente ne fait pas partie du tas.
Le segment de mémoire est créé au démarrage de la machine virtuelle et peut augmenter ou diminuer en taille pendant l'exécution de l'application. Lorsque le tas est plein, les ordures sont collectées. Pendant le nettoyage de la mémoire, les objets qui ne sont plus utilisés sont effacés, ce qui laisse de la place pour de nouveaux objets.
- Xms size Spécifie la taille de segment de mémoire initiale.
- Xmx size Spécifie la taille maximale du segment de mémoire.
- XX: MaxPermSize = size Définit la taille maximale de l'espace de génération permanent. Cette option était obsolète dans JDK 8 et remplacée par l'option - XX: MaxMetaspaceSize .
Les tailles sont exprimées en octets. Ajoutez la lettre k
ou K
pour indiquer les kilo-octets, m
ou M
pour indiquer les mégaoctets, g
ou G
pour indiquer des giga-octets.
Comment le pool de mémoire Java est-il divisé?
Qu'est-ce que l'espace permanent?
Modèle de mémoire Java (JVM) - Gestion de la mémoire en Java