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

相关推荐
此木|西贝4 小时前
【设计模式】享元模式
java·设计模式·享元模式
李少兄4 小时前
解决Spring Boot多模块自动配置失效问题
java·spring boot·后端
bxlj_jcj5 小时前
JVM性能优化之年轻代参数设置
java·性能优化
八股文领域大手子5 小时前
深入理解缓存淘汰策略:LRU 与 LFU 算法详解及 Java 实现
java·数据库·算法·缓存·mybatis·哈希算法
不当菜虚困5 小时前
JAVA设计模式——(八)单例模式
java·单例模式·设计模式
m0_740154675 小时前
Maven概述
java·maven
吗喽对你问好5 小时前
Java位运算符大全
java·开发语言·位运算
Java致死6 小时前
工厂设计模式
java·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式
程序员JerrySUN6 小时前
驱动开发硬核特训 · Day 21(上篇) 抽象理解 Linux 子系统:内核工程师的视角
java·linux·驱动开发