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

相关推荐
Ares_xb16 小时前
推广一下自己刚撸的 IDEA 插件—Bean Copy 助手
java·ide·intellij-idea
郑重其事,鹏程万里16 小时前
commons-digester3(XML解析框架)
xml·java
货拉拉技术17 小时前
网关 MCP 转换技术:从实现到平台落地
java·架构·mcp
艾菜籽17 小时前
SpringMVC练习:加法计算器与登录
java·spring boot·spring·mvc
浮游本尊17 小时前
Java学习第25天 - Spring Cloud Alibaba微服务生态
java
Cg1362691597417 小时前
Super的详解
java
毕设源码-朱学姐17 小时前
【开题答辩全过程】以 便利店库存管理系统为例,包含答辩的问题和答案
java·eclipse
Nero1818 小时前
代码随想录二刷第九天 | 232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
java
泉城老铁18 小时前
tomcat 部署springboot,线程经常断开导致数据库连接池关闭,如何解决
java·spring boot·后端
Nero1818 小时前
代码随想录二刷第八天 | 28. 实现 strStr()、459.重复的子字符串
java