web-dev-qa-db-fra.com

Java Serveur HotSpot (TM) 64 bits VM warning: option ignorée MaxPermSize

Lors de la construction d'un projet Java 8 avec Maven:

mvn clean package

Je reçois ce message:

Serveur 64 bits Java HotSpot (TM) VM warning: option ignorée MaxPermSize = 128m; le support a été supprimé dans 8.0

Comment supprimer ce message?

126
Boris

Guide de compatibilité pour JDK 8 indique que, dans Java 8, l'indicateur de ligne de commande MaxPermSize a été supprimé. La raison en est que la génération permanente a été retirée du tas de hotspot et déplacée vers la mémoire native. Donc, pour supprimer ce message, éditez MAVEN_OPTS Variable utilisateur de l'environnement:

Java 7

MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m

Java 8

MAVEN_OPTS -Xmx512m
152
Boris

La JVM HotSpot JDK 8 utilise maintenant la mémoire native pour la représentation des métadonnées de classe et est appelée Metaspace.

La génération permanente a été supprimée. PermSize et MaxPermSize sont ignorés et un avertissement est émis s'ils sont présents sur la ligne de commande.

19
Martin Seeler

Dans JBoss EAP 6.4, cliquez avec le bouton droit sur le serveur et ouvrez la configuration de lancement sous l'argument VM que vous trouverez.

{-Dprogram.name=JBossTools: jboss-eap" -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m}

le mettre à jour pour

{-Dprogram.name=JBossTools: JBoss 6.4" -server -Xms512m -Xmx512m}

cela résoudra votre problème.

7
Amit

-XX: MaxPermSize = size Définit la taille maximale de l'espace de génération permanente (en octets). Cette option était obsolète dans JDK 8 et remplacée par l'option -XX: MaxMetaspaceSize.

-XX: PermSize = size Définit l'espace (en octets) alloué à la génération permanente qui déclenche un garbage collection s'il est dépassé. Cette option était obsolète dans le JDK 8 et remplacée par l'option -XX: MetaspaceSize.

6
mama...

J'ai reçu un message similaire lors de l'exécution de la ligne de commande mvn (version 3.3.3) sous Linux avec Java 8. En ouvrant le script maven/$ MAVEN-HOME/bin/mvn, la ligne suivante a été trouvée

MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"

Où $ MAVEN_PROJECTBASEDIR est par défaut votre répertoire personnel. Vous pouvez donc jeter un coup d’œil à deux endroits: le fichier $ MAVEN_PROJECTBASEDIR/.mvn/jvm.config s’il existe. Deuxièmement, examinez les fichiers qui configurent éventuellement la variable d’environnement MAVEN_OPTS. Les fichiers candidats sont .bashrc, .bash_profile, .profile et les fichiers qu’ils contiennent, tels que/etc/profile, /etc/bash.bashrc

J'ai localisé

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"

dans .bashrc dans mon système, changez-le en

export MAVEN_OPTS="-Xmx512m"

problème résolu

0
Jonathan L