Как я могу заставить предупреждение "Java Hot Spot MaxPermSize" исчезнуть при использовании IntelliJ или Play?
Я получаю это предупреждение, когда запускаю IntelliJ или запускаю play
в проекте Play.
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
Как мне заставить его уйти?
Ответ на тот же вопрос для Maven говорит об удалении опции MaxPermSize
из переменной среды MAVEN_OPTS
. У меня нет переменной MAVEN_OPTS
, установленной на моей машине. Я предполагаю, что есть некоторые аналогичные настройки sbt, но я не знаю, где это.
Я вижу много объяснений о том, что такое изменение на Java, но я не вижу никаких советов о том, как это предупреждение уйти при работе с Scala.
OS X 10.9.4. Scala 2.11.1. sbt 0.13.5
Изменить
В принципе, я спрашиваю: "Где все места в моей системе MaxPermSize
могут быть установлены?"
У меня нет установки sbt-launch-lib.bash
на моей машине.
Я нашел параметр MaxPermSize
Scala → JVM Parameters для IntelliJ. Удаление, которое заставляет предупреждение уходить в IntelliJ.
Изменить
Изменен вопрос. Я изначально сказал, что это произошло для SBT. (Некоторые из комментариев ниже относятся к этому вопросу.) Это была ошибка с моей стороны. Это не происходит, когда я запускаю SBT, только когда я запускаю play
из командной строки.
Известна ли ошибка для Play для указания параметра MaxPermSize
? Есть ли способ остановить его?
Изменить
Я не думаю, что это дубликат устранения PermGen в jdk 8. Этот поток описывает, почему появляется предупреждение, но не объясняет, как изменить конфигурации IntelliJ или Play, чтобы он больше не отображался.
Ответы
Ответ 1
Это предупреждает, что вы все еще предполагаете, что этот флаг, который вы передаете, будет работать, но этот флаг был удален с 1.8, теперь в jvm 1.8 не будет perm permel
поэтому, чтобы избавиться от этого предупреждения, удалите -XX:MaxPermSize
из всех мест, которые передают его jvm из sbt
Например, в Windows вам просто нужно отредактировать файл C:\Program Files (x86)\sbt\conf\sbtconfig.txt
и отредактировать, чтобы изменить его, чтобы прокомментировать XX:MaxPermSize=256M
. Например:
-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
Ответ 2
Я знаю, это старый вопрос, но если вы используете IntelliJ, эта запись:
-XX:MaxPermSize=512m
также можно найти в этих файлах:
PATH_TO_INTELLIJ\bin\idea.exe.vmoptions
PATH_TO_INTELLIJ\bin\idea64.exe.vmoptions
Может быть, его удаление может помочь?
Ответ 3
Sbt считывает настройки с $SBT_LAUNCHER_HOME/sbt-launch-lib.bash
.
Вы можете найти следующий фрагмент и удалить -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. На окнах это в conf/sbtconfig.txt
.
Ответ 4
В IntelliJ некоторые конфигурации запуска по умолчанию включают конкретные параметры VM.
Например, параметры конфигурации конфигурации запуска SBT по умолчанию включают параметр "-XX: MaxPermSize = 256M"
Вы можете просто удалить эту запись по умолчанию или из своего настраиваемого сценария запуска, и больше никаких предупреждений не появится.
Ответ 5
Для тех, кто испытывает это в OS X/macOS, решение для меня состояло в том, чтобы перейти в меню IntelliJ IDEA > Preferences...
, затем в Other Settings > SBT
и очистить поле VM parameters
.
Ответ 6
Вы можете увидеть это предупреждение, когда IntelliJ загружает проект. Вы можете остановить это предупреждение, удалив любые значения -XX:MaxPermSize
из настроек SBT в настройках > "Параметры VM".
Фактические параметры JVM, используемые при запуске приложения Play2 в IntelliJ, похоже, не отображаются в интерфейсе, но вы можете редактировать свой файл workspace.xml
вручную. Найдите параметр play2JvmOptions
:
<setting name="play2JvmOptions" value="-Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" />
и удалите значение -XX:MaxPermSize
.
Думаете ли вы, что это стоит возиться с вашим рабочим пространством .xml ради предупреждения, зависит от вас...
Ответ 7
На самом деле его очень простой JAVA-8 устарел MaxPermSize, вам нужно просто отредактировать файл vmoptions и заменить
-XX:MaxPermSize by -XX:MaxMetaspaceSize=128m
Ответ 8
Параметр -XX: MaxPermSize указан в файле "build" внутри папки установки платформы воспроизведения. Удаление записи MaxPermSize удалило предупреждение при запуске проекта воспроизведения.
например:/play-2.2.1/framework/build
Ответ 9
- Откройте intellij install location- > bin
- Изменить файл idea.vmoptions или idea64.vmoptions
- Удалить -XX: MaxPermSize = xxm
- Сохранить файл, а затем перезапустить IDEA
![введите описание изображения здесь]()