在IDEA中遇到堆内存溢出报错

比如java.lang.OutOfMemoryError: Java heap space
出现原因:主要是项目运行时的堆内存不足引起的报错,可以从两个方面进行改进。
一、修改IDEA编译器的运行内存大小。
1、查找IDAE的安装路径,找到idea64.exe.vmoptions文件。C:\Program Files\JetBrains\IntelliJ IDEA 2017.3.4\bin\idea64.exe.vmoptions 查找idea64.exe.vmoptions文件
设置内容如下:
-Xms1024m
-Xmx4096m
-XX:MaxMetaspaceSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:+PrintGC
-XX:+PrintGCDetails
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
说明一下:
1.Xms1024m,最小内存设置1G
2.Xmx4096m,最大内存设置4G,视电脑内存可变
3.MaxMetaspaceSize=512m,元数据区,jdk8前是方法区内存大小
4.UseConcMarkSweepGC,设置年老代为并发收集
5.SoftRefLRUPolicyMSPerMB=50,"软引用"的对象在最后一次被访问后能存活50毫秒
6.PrintGC,每次GC时打印相关信息
7.PrintGCDetails,每次GC时打印详细信息
其中6,7可以删除,做分析使用

2.每次启动idea64.exe,而不是启动idea.exe
二、在项目中配置JVM的内存大小(此方法是理论上行得通,本人没有具体实际用到)
1、在Run——DataMigrationsApplication——VM options:加入-Xms1024m -Xmx1024m。
2、在VM arguments中设置VM参数,也就是允许的堆栈内存大小为:-Xms1024m -Xmx1024m。
在这里插入图片描述
备注:
内存溢出java.lang.OutOfMemoryErrory后面一般会跟上内存溢出的区域
PermGen space(方法区), heap space(堆内存)
如果是PermGen space方法区内存溢出,可尝试加大MaxPermSize
如果是heap space 堆内存溢出,可尝试修改Xmx

-Xms <size> 
设置JVM初始化堆内存大小 
-Xmx <size> 
设置JVM最大的堆内存大小 
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值