hot spot java_How do I make the “Java Hot Spot MaxPermSize” warning go away when using IntelliJ or P...

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):

问题:

I get this warning when I launch IntelliJ or run play in a Play project. Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0

How do I make it go away?

The answer to the same question for Maven says to remove MaxPermSize option from the MAVEN_OPTS environment variable. I don't have a MAVEN_OPTS variable set on my machine. I imagine there is some similar sbt setting, but I don't know where it is.

I see lots of explanations about what the change to Java is, but I don't see any tips for how to make this warning go away when working with Scala.

OS X 10.9.4. Scala 2.11.1. sbt 0.13.5

Edit

Basically what I'm asking is "Where are all the places on my system MaxPermSize might get set?"

I don't have a sbt-launch-lib.bash set on my machine.

I did find MaxPermSize Scala->JVM Parameters option of IntelliJ. Removing that makes the warning go away in IntelliJ.

Edit

Changed question. I originally said that this happened for SBT. (Some of the comments below address this.) This was an error on my part. It doesn't happen when I run SBT, only when I run play from the command line.

Is it a known bug for Play to specify the MaxPermSize parameter? Is there a way to make it stop?

Edit

I don't think this is a duplicate of PermGen elimination in jdk 8. That thread describes why the warning appears but does not explain how to change the IntelliJ or Play configurations to make it no longer appear.

回答1:

This warns that you are still assuming that this flag you are passing in would work but this flag has been removed from 1.8 onward, there is no perm space in jvm 1.8 onwards

so to get rid of this warning remove -XX:MaxPermSize from all the places which passes it to jvm from sbt

For example, on Windows you just need to edit the file C:\Program Files (x86)\sbt\conf\sbtconfig.txt and edit to change it to comment the XX:MaxPermSize=256M. For example: -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:

I know it's an old question, but if you're using IntelliJ, this entry: -XX:MaxPermSize=512m

can also be found in one of these files: PATH_TO_INTELLIJ\bin\idea.exe.vmoptions PATH_TO_INTELLIJ\bin\idea64.exe.vmoptions

Maybe removing it there could help?

回答3:

For anybody experiencing this on OS X/macOS, the solution for me was to go to the menu IntelliJ IDEA > Preferences..., then to Other Settings > SBT and clear the field VM parameters.

As akauppi also mentioned below, there is also another set of parameters in IntelliJ IDEA > Preferences... under Build, Execution, Deployment > Built Tools > sbt

回答4:

Sbt reads the settings from $SBT_LAUNCHER_HOME/sbt-launch-lib.bash.

You can find following fragment, and remove -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. On windows it's in conf/sbtconfig.txt.

回答5:

In IntelliJ, some default run configurations include specific VM paramters.

For example, the default SBT Task run configuration VM parameters include the setting "-XX:MaxPermSize=256M"

You can simply remove this entry from the default or from your custom run config and no more warnings will appear.

回答6:

You may see this warning when IntelliJ is loading the project. You can stop this warning by removing any -XX:MaxPermSize values from the SBT settings in Preferences > "VM parameters".

The actual JVM options used when running a Play2 app in IntelliJ don't seem to be exposed in the interface but you can edit your workspace.xml file manually. Look for the play2JvmOptions setting:

and remove the -XX:MaxPermSize value.

Whether you think it's worth messing with your workspace.xml for the sake of a warning is up to you...

回答7:

Actually its very easy JAVA-8 has deprecated MaxPermSize, what you need to do is simply edit your vmoptions file and replace -XX:MaxPermSize by -XX:MaxMetaspaceSize=128m

回答8:

The -XX:MaxPermSize option is specified on the "build" file inside the play framework installation folder. Removing the MaxPermSize entry removed the warning when running play project.

eg: /play-2.2.1/framework/build

回答9:

Just to add to this discussion. My sbt command ended up being a script, I simply edited the script and removed the MaxPermSize reference.

I know this is about play, but searches for sbt and MaxPermSize end up here.

回答10:

Open intellij install location->bin

Edit idea.vmoptions or idea64.vmoptions file

Remove -XX:MaxPermSize=xxm

Save File and then restart IDEA

yH5BAEAAAAALAAAAAABAAEAAAIBRAA7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值