当JVM内存不足时,会抛出java.lang.OutOfMemoryError. 主要的OOM类型右:
Java heap space:堆空间不足
View Code View Result
View Code View Result[-Xmx12m] View Result[-Xmx35m]
GC overhead limit exceeded : GC开销超出限制 默认情况下,当应用程序花费超过98%的时间用来做GC并且回收了不到2%的堆内存时,会抛出java.lang.OutOfMemoryError:GC overhead limit exceeded错误。 此类问题的原因与解决方案跟 Java heap space 非常类似,可以参考上文
View Code View Result
Permgen space:永久代内存不足
Metaspace:元空间内存不足
View Code View Result
Unable to create new native thread:无法创建新的本地线程
View Code View Result
Out of swap space? : 交换空间内存不足
Kill process or sacrifice child
你可以通过修改各种启动参数来“快速修复”这些内存溢出错误,但你需要正确区分你是否只是推迟或者隐藏了java.lang.OutOfMemoryError的症状。如果你的应用程序确实存在内存泄漏或者本来就加载了一些不合理的类,那么所有这些配置都只是推迟问题出现的时间而已,实际也不会改善任何东西。 参考文献: |
/1
|手机版|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 )
GMT+8, 2025-12-23 01:25 , Processed in 0.207355 second(s), 23 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.