Intellij JBoss - 初始堆大小设置为大于最大堆大小的值

Intellij JBoss - Initial heap size set to a larger value than the maximum heap size

我正在使用 IntelliJ 2020.1 Ultimate 并且有一个 JBoss 7.0.2 服务器,我想从 IntelliJ 运行。

我已将其添加为配置:

但是当我尝试启动服务器时,出现以下错误:

IDEA.app/Contents/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/Kotlin/lib/kotlin-stdlib.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/Kotlin/lib/kotlin-reflect.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/Kotlin/lib/kotlin-plugin.jar" org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 64088 4a7ed3b5-cfb6-4196-b997-396c16d8c06f /Users/richardmarais/Library/Caches/JetBrains/IntelliJIdea2020.1/compile-server Picked up JAVA_TOOL_OPTIONS: -Dhttps.protocols=TLSv1.2 -Xmx2048m -XX:MaxPermSize=1024m -Xms2048m OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0 Error occurred during initialization of VM Initial heap size set to a larger value than the maximum heap size

我的idea.vmoptions是默认值:

-Xms128m
-Xmx2048m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8

-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof

问题

您知道如何解决上述错误才能让 JBoss 开始吗?

我通过这样做解决了这个问题。

open -a TextEdit.app ~/.bash_profile

然后:

export JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2 -Xmx4096m -Xms128m"

您不需要设置任何全局环境变量来修补 VM 选项。

取消设置 JAVA_TOOL_OPTIONS 并在服务器的 Run/Debug 配置中指定正确的 VM 选项:

-Xms256m -Xmx2048m -XX:MaxPermSize=512m

对于任何项目来说应该绰绰有余。我怀疑您是否真的需要 5GB 初始堆大小。

另请注意,IntelliJ IDEA .vmoptions 不会影响您从 IDE 启动的应用程序的选项。