idea 项目启动慢,报内存溢出,调整jvm参数

idea 项目启动慢,直接报内存溢出了

java: java.lang.OutOfMemoryError: Java heap space

解决方案:调整 idea jvm参数

在IntelliJ IDEA中,可以通过以下步骤来全局设置Java堆大小:

  1. 打开IntelliJ IDEA。

  2. 从菜单栏选择 "Help" > "Edit Custom VM Options..."。如果这是第一次访问,IDEA会提示你创建一个新的配置文件。

  3. 在打开的idea.vmoptions文件中,你可以添加或修改JVM的堆内存设置。例如,增加最大堆内存到1024MB,可以添加以下行:

    复制代码
    -Xmx1024m
  4. 保存文件并重启IntelliJ IDEA以使更改生效。

这样设置后,所有通过IntelliJ IDEA启动的Java应用都会使用这个堆内存设置。

请注意,这个设置是针对IDEA及其启动的Java应用的全局设置。如果你需要为特定项目或运行配置设置不同的堆内存大小,你应该在该项目或运行配置的VM选项中单独设置。

我的idea.vmoptions配置:

java 复制代码
-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

调整后:

java 复制代码
-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核心较多,可以考虑增加编译器线程数,以加快编译速度。

相关推荐
Shaoshing8 小时前
LeetCode100 49. 字母异位词分组
java·算法
划破黑暗的第一缕曙光9 小时前
[C++]:5.STL:string(2)
java·c++·redis
hhhjhl9 小时前
Undici 跨端三方库仓颉适配全流程
java·开发语言·ubuntu
wangchunyu1149 小时前
JAVA JVM内存结构与运行时数据区
java·开发语言·jvm
光锥智能9 小时前
海康机器人举行2026移动机器人新品发布会:箱式存拣升级,「明智」系列发布
java·前端·机器人
行思理10 小时前
Nginx 跨站请求(CORS)配置完全指南:从原理到生产实践
java·前端·nginx
小溪学编程10 小时前
Spring @Bean 与 @Component 注解的区别详解
java·后端·spring
Wang's Blog10 小时前
Java 项目实战: 交友项目 - 圈子互动章总结与自检清单
java·bootstrap·交友
xyouyuweizhu11 小时前
字节流与字符流:Java IO 的两条主线该怎么选
java·开发语言·python
代码方舟11 小时前
零信任架构实战:基于天远人企关联构建自动化供应链核心企业关联穿透与利益冲突审查网关
java·人工智能·架构·自动化