Je reçois cet avertissement lorsque je lance IntelliJ ou que je lance play
dans un projet Play .
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
Comment puis-je le faire partir?
Le answer à la même question pour Maven dit de supprimer l’option MaxPermSize
de la variable d’environnement MAVEN_OPTS
. Je n'ai pas de variable MAVEN_OPTS
définie sur ma machine. J'imagine qu'il existe un réglage similaire pour les sbt, mais je ne sais pas où il se trouve.
Je vois beaucoup de explications sur la modification apportée à Java, mais je ne vois aucun conseil sur la façon de faire disparaître cet avertissement lorsque vous travaillerez avec Scala.
OS X 10.9.4. Scala 2.11.1. 0,13.5
Modifier
En gros, ce que je demande, c’est "Où se trouvent tous les endroits sur mon système MaxPermSize
peuvent être définis?"
Je n'ai pas de sbt-launch-lib.bash
défini sur ma machine.
J'ai trouvé l'option MaxPermSize
Scala-> JVM Parameters d'IntelliJ. Supprimer cela fait disparaître l'avertissement dans IntelliJ.
Modifier
Question modifiée. J'ai d'abord dit que cela s'était passé pour SBT. (Certains des commentaires ci-dessous répondent à cela.) C'était une erreur de ma part. Cela ne se produit pas lorsque j'exécute SBT, mais uniquement lorsque je lance play
à partir de la ligne de commande.
Est-ce un bug connu pour Play de spécifier le paramètre MaxPermSize
? Y a-t-il un moyen d'arrêter ça?
Modifier
Je ne pense pas que ceci soit une copie de Suppression de PermGen dans jdk 8 . Ce fil explique pourquoi l'avertissement apparaît mais n'explique pas comment changer les configurations d'IntelliJ ou de Play pour qu'il n'apparaisse plus.
Cela vous avertit que vous supposez toujours que le drapeau que vous passez est efficace, mais ce drapeau a été supprimé à partir de la version 1.8, il n'y a pas d'espace permanent dans la version 1.8
afin de se débarrasser de cet avertissement, supprimez -XX:MaxPermSize
de tous les endroits qui le transmettent à jvm à partir de sbt
Par exemple, sous Windows, il vous suffit de modifier le fichier C:\Program Files (x86)\sbt\conf\sbtconfig.txt
et de le modifier pour le commenter avec le XX:MaxPermSize=256M
. Par exemple:
-Xmx512M
#Commented parameter as it is deprecated on jvm 1.8 onwards
#-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m
# Set the extra SBT options
-Dsbt.log.format=true
Je sais que c'est une vieille question, mais si vous utilisez IntelliJ, cette entrée:
-XX:MaxPermSize=512m
peuvent également être trouvés dans l'un de ces fichiers:
PATH_TO_INTELLIJ\bin\idea.exe.vmoptions
PATH_TO_INTELLIJ\bin\idea64.exe.vmoptions
Peut-être que le retirer pourrait aider?
Pour tous ceux qui en ont fait l'expérience sur OS X/macOS, la solution pour moi était d'aller au menu IntelliJ IDEA > Preferences...
, puis à Other Settings > SBT
et d'effacer le champ VM parameters
.
Comme akauppi également mentionné ci-dessous, il existe également un autre ensemble de paramètres dans IntelliJ IDEA > Preferences...
sous Build, Execution, Deployment > Built Tools > sbt
Dans IntelliJ, certaines configurations d'exécution par défaut incluent des paramètres VM spécifiques.
Par exemple, les paramètres de configuration d'exécution de la tâche SBT par défaut VM incluent le paramètre "-XX: MaxPermSize = 256M"
Vous pouvez simplement supprimer cette entrée de la valeur par défaut ou de votre configuration personnalisée et aucun avertissement ne s'affichera.
Sbt lit les paramètres à partir de $SBT_LAUNCHER_HOME/sbt-launch-lib.bash
.
Vous pouvez trouver le fragment suivant et supprimer -XX:MaxPermSize=${perm}m
.
get_mem_opts () {
local mem=${1:-1024}
local perm=$(( $mem / 4 ))
(( $perm > 256 )) || perm=256
(( $perm < 1024 )) || perm=1024
local codecache=$(( $perm / 2 ))
echo "-Xms${mem}m -Xmx${mem}m -XX:MaxPermSize=${perm}m -XX:ReservedCodeCacheSize=${codecache}m"
}
PS. Sous Windows, c'est dans conf/sbtconfig.txt
.
Vous pouvez voir cet avertissement lorsque IntelliJ charge le projet. Vous pouvez arrêter cet avertissement en supprimant les valeurs -XX:MaxPermSize
des paramètres SBT dans Préférences> "Paramètres de machine virtuelle".
Les options JVM utilisées lors de l'exécution d'une application Play2 dans IntelliJ ne semblent pas être exposées dans l'interface, mais vous pouvez modifier votre fichier workspace.xml
manuellement. Recherchez le paramètre play2JvmOptions
:
<setting name="play2JvmOptions" value="-Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" />
et supprimez la valeur -XX:MaxPermSize
.
Si vous pensez que cela vaut la peine de jouer avec votre fichier workspace.xml pour un avertissement, c'est à vous de décider ...
En réalité, sa très grande simplicité, Java-8 a rendu obsolète MaxPermSize. Il vous suffit de modifier votre fichier vmoptions et de le remplacer
-XX:MaxPermSize by -XX:MaxMetaspaceSize=128m
Juste pour ajouter à cette discussion. Ma commande sbt
a fini par être un script. J'ai simplement édité le script et supprimé la référence MaxPermSize
.
Je sais que cela concerne le jeu, mais les recherches sur sbt et MaxPermSize aboutissent ici.
L'option -XX: MaxPermSize est spécifiée dans le fichier "build" du dossier d'installation de play framework. La suppression de l'entrée MaxPermSize a supprimé l'avertissement lors de l'exécution du projet de lecture.
par exemple: /play-2.2.1/framework/build