idea 项目启动慢,直接报内存溢出了
java: java.lang.OutOfMemoryError: Java heap space
解决方案:调整 idea jvm参数
在IntelliJ IDEA中,可以通过以下步骤来全局设置Java堆大小:
- 打开IntelliJ IDEA。
- 从菜单栏选择 “Help” > “Edit Custom VM Options…”。如果这是第一次访问,IDEA会提示你创建一个新的配置文件。
- 在打开的
idea.vmoptions
文件中,你可以添加或修改JVM的堆内存设置。例如,增加最大堆内存到1024MB,可以添加以下行:-Xmx1024m
- 保存文件并重启IntelliJ IDEA以使更改生效。
这样设置后,所有通过IntelliJ IDEA启动的Java应用都会使用这个堆内存设置。
请注意,这个设置是针对IDEA及其启动的Java应用的全局设置。如果你需要为特定项目或运行配置设置不同的堆内存大小,你应该在该项目或运行配置的VM选项中单独设置。
我的idea.vmoptions
配置:
-Xms128m
-Xmx5120m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Dapple.laf.useScreenMenuBar=false
调整后:
-Xms1025m
-Xmx5120m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=6
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Dapple.laf.useScreenMenuBar=false
-Xms1025m 堆初始化大小
-Xmx5120m 堆最大容量
-XX:CICompilerCount=6 编译器线程数,原来设置了两个编译器线程,这可能不足以充分利用多核CPU的能力。如果机器CPU核心较多,可以考虑增加编译器线程数,以加快编译速度。