解决OOM:JVM内存不足问题
更新时间:2025年06月20日 10:22:27 作者:十九本命
这篇文章主要介绍了解决OOM:JVM内存不足问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
在运行项目的时候,代码maven等正确的情况下,项目跑不起来报内存不足的问题,很有可能就是OOM问题!
什么是OOM?
“Out Of Memory”=“内存不足”
官方回答:
- 当 JVM 因为没有足够的内存来为对象分配空间,并且 垃圾回收器 也已经没有空间可供回收时,就会抛出这个错误。(注:非exception,已经严重到不足以被应用处理)。
举例:
- 就是你设置的项目需要10内存而你只有5,所以报OOM问题。
知识点插入:
- 内存泄露:申请使用完的内存没有释放,导致虚拟机不能再次使用该内存,此时这段内存就泄露了,因为申请者不用了,而又不能被虚拟机分配给别人用。
- 内存溢出:申请的内存超出了JVM能提供的内存大小,此时称之为溢出。
OOM出现的原因
- 分配过少:JVM 初始化内存小,业务使用了大量内存;或者不同 JVM 区域分配内存不合理
- 内存泄漏:某一个对象被频繁申请,不用了之后却没有被释放,发生内存泄漏,导致内存耗尽
OOM的解决方法
直接的解决办法是将setting->Compile中属性的值调大,我这里是调到了3000

合理设置对外内存大小:
根据应用的实际需求调整-XX:MaxDirectMemorySize参数,给予足够的直接内存空间。(亲测:修改错误IDEA会无法启动,建议使用第一种♥️ )
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
java:程序包org.apache.ibatis.annotations不存在报错解决
这篇文章主要给大家介绍了关于java:程序包org.apache.ibatis.annotations不存在报错的解决方法,这个错误是我在直接导入springboot项目的时候报错的,文中通过图文介绍的非常详细,需要的朋友可以参考下2023-04-04
RestTemplate Get请求实现bean参数传递详解
RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,也有的称之为网络框架,说白了就是Java版本的一个postman,这篇文章主要介绍了详解RestTemplate 用法,需要的朋友可以参考下2022-11-11
SpringBoot项目如何把接口参数中的空白值替换为null值(推荐)
这篇文章主要介绍了SpringBoot项目如何把接口参数中的空白值替换为null值(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01


最新评论