开发者

解决OOM:JVM内存不足问题

目录
  • 什么是OOM?
    • OOM出现的原因
  • 总结

    在运行项目的时候,代码maven等正确的情况下,项目跑不起来报内存不足的问题,很有可能就是OOM问题!

    什么是OOM?

    &ldquandroido;Out Of Memory”=“内存不足”

    官方回答:

    • 当 JVM 因为没有足够的内存来为对象分配空间,并且 垃圾回收器 也已经没有空间可供回收时,就会抛出这个错误。(注:非exception,已经严重到不足以被应用处理)。

    举例:

    • 就是你设置的项目需要10内存而你只有5,所以报OOM问题。

    编程客栈识点插入:

    • 内存泄露:申请使用完的内存没有释放,导致虚拟机不能再次使用该内存,此时这段内存www.devze.com就泄露了,因为http://www.devze.com申请者不用了,而又不能被虚拟机分配给别人用。
    • 内存溢出:申请的内存超出了JVM能提供的内存大小,此时称之为溢出。

    OOM出现的原因

    • 分配过少:JVM 初始化内存小,业务使用了大js量内存;或者不同 JVM 区域分配内存不合理
    • 内存泄漏:某一个对象被频繁申请,不用了之后却没有被释放,发生内存泄漏,导致内存耗尽

    OOM的解决方法

    直接的解决办法是将setting->Compile中属性的值调大,我这里是调到了3000

    解决OOM:JVM内存不足问题

    合理设置对外内存大小:

    根据应用的实际需求调整-XX:MaxDirectMemorySize参数,给予足够的直接内存空间。(亲测:修改错误IDEA会无法启动,建议使用第一种♥️ )

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜