Idea 项目启动 OOM 问题解决

问题介绍

今天刚接到一个Springboot的新项目,在启动的时候内存溢出了导致项目没启动起来

Idea 项目启动 OOM 问题解决

关键报错信息如下:

Error:Java: OutOfMemoryError: insufficient memory

问题排查

一般出现 OOM 第一感觉都会想是不是项目某块代码写的有问题导致的内存溢出,但是仔细想,一般我们遇到内存溢出都是在项目运行的过程中,申请的内存大于系统(或 JVM 分配的堆内存)所能提供的内存,导致无法申请到足够的内存,才会抛出 OOM 异常

很明显的,我这里的代码还没运行起来就提示 OOM 异常了,而且代码是刚从 master 分支拉下来的,master 是比较稳定的分支,所以不太可能是代码的问题

既然不是代码问题,那么就有可能是 IDEA 内存不足导致的 OOM,查看发现 idea 使用了 1.11G 的内存

Idea 项目启动 OOM 问题解决

而我给 idea 分配的堆内存为 2G

Idea 项目启动 OOM 问题解决

明显还有很多内存可以用,可为什么就 OOM 了呢?进一步观察 CPU 使用情况发现,当运行项目的时候,会启动一个 java 进程,并且 CPU 的使用率很高

Idea 项目启动 OOM 问题解决

并且在抛出 OOM 之前,idea 一直都卡在 building 阶段

Idea 项目启动 OOM 问题解决

查询资料发现,idea 的 build 阶段会对整个项目进行编译。所以这里的 OOM 有可能是 idea 内部的编译进程内存不足导致的

问题解决

在 idea 官网查阅关于内存的配置中,发现这么一个配置项

Idea 项目启动 OOM 问题解决

文档链接:https://www.jetbrains.com/help/idea/increasing-memory-heap.html

我们可以在 idea 的 Build, Execution, Deployment -> Compiler 设置中,对构建进程的堆内存进行设置

Idea 项目启动 OOM 问题解决

我这里默认设置的是 700M,将其改为 1024M。发现项目果然可以正常启动了… 果真是 idea 配置的问题

总结

工作中经常遇到奇奇怪怪的问题,不管是代码问题也好,编译器问题也好,只要我们保持清晰的头脑,就能很快的找到问题的解决方法


原文始发于微信公众号(huangxy):Idea 项目启动 OOM 问题解决

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/160103.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!