适用场景:解决项目启动慢、运行卡顿、GC 频繁、OOM 问题,纯 JVM 堆内存 + 性能参数,不含 dev/test/prod 环境配置

一、前言

很多小伙伴在开发时经常遇到:

  • IDEA 本身卡顿、编译慢
  • SpringBoot 项目启动巨慢
  • 运行时接口响应慢、频繁 GC
  • 堆内存溢出(OOM)

本质原因:默认 JVM 堆内存太小,没有做合理分配。本文给出可直接 CV的 IDEA 自身 JVM 配置 + 项目运行 JVM 配置,适配 16G 内存开发机(8G/32G 可按需微调)。


二、IDEA 自身 JVM 堆内存配置(解决编辑器卡顿)

1. 打开配置入口

IDEA 顶部菜单栏:HelpEdit Custom VM Options

2. 直接替换为以下配置(16G 内存推荐)

# 堆内存
-Xms2g
-Xmx2g
# 元空间
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=1024m
# 编译缓存
-XX:ReservedCodeCacheSize=512m
# GC
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
# 其他优化
-Dfile.encoding=UTF-8
-XX:+HeapDumpOnOutOfMemoryError

3. 内存说明

  • -Xms / -Xmx最小 / 最大堆内存,建议设为相同值,避免动态扩容卡顿
  • 16G 电脑:IDEA 给 2g 足够
  • 8G 电脑:可改为 -Xms1g -Xmx1g
  • 32G 电脑:可改为 -Xmx4g

修改后重启 IDEA 生效。


三、SpringBoot 项目运行 JVM 堆内存配置(重点)

1. 配置位置

Run/Debug Configurations → 找到你的 SpringBoot 启动类→ VM options(中文版:虚拟机选项)

2. 纯 JVM 配置(无任何环境参数,直接复制)

plaintext

-Xms6144m -Xmx8192m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication

3. 参数说明(写博客必备)

表格

参数 作用
-Xms6144m 初始堆内存 6GB,启动即分配,避免扩容卡顿
-Xmx8192m 最大堆内存 8GB,16G 电脑最佳值
-XX:+UseG1GC 使用 G1 低延迟垃圾回收器
-XX:MaxGCPauseMillis=200 控制 GC 最大停顿 200ms
-XX:+UseStringDeduplication 字符串去重,节省内存
-XX:+HeapDumpOnOutOfMemoryError OOM 时自动生成快照,方便排查

4. 不同内存机器微调

  • 8G 内存

    plaintext

    -Xms2g -Xmx4g ...其余不变
    
  • 32G 内存

    plaintext

    -Xms12g -Xmx16g ...其余不变
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐