0
点赞
收藏
分享

微信扫一扫

Java出现OutOfMemoryError(OOM)的原因有哪些?出现OOM错误后,怎么解决?

花明 2021-10-15 阅读 57
HTML面试

触发java.lang.OutOfMemoryError最常见的原因就是应用程序需要的堆空间是大的,但是JVM提供的却不足。解决方法就是提供大的堆空间即可。

除此之外还有复杂的原因:

内存泄露:特定的编程错误会导致应用程序不停的消耗更多的内存,每次使用有内存泄露风险的功能就会留下一些不能被回收的对象到堆空间,最终触发java.lang.OutOfMemoryError:Java heap space错误。

解决方案:

应该确保有足够的堆空间来正常运行你的应用程序,在JVM的启动配置中增加配置:-Xmx1024m

流量/数据量峰值:应用程序在设计之初均有用户量和数据量的限制,某一时刻,当用户数量或数据量突然达到一个峰值,并且这峰值已经超过了设计之初预期的阈值,那么以前正常的功能将会停止,并触发java.lang.OutOfMemoryError:Java heap space异常。

解决方案,如果应用程序确实内存不足,增加堆内存会解决GC overhead limit问题,给应用程序1G的堆内存:java -Xmx1024m com.yourcompany.YourClass

举报

相关推荐

0 条评论