JVM:浅谈内存溢出的原因

1、java heap space

java.lang.OutOfMemoryError: ...java heap space... 堆栈溢出,代码问题的可能性极大。

2、GC over head limit exceeded

java.lang.OutOfMemoryError: GC over head limit exceeded 系统处于高频的GC状态,而且回收的效果依然不佳的情况,就会开始报这个错误。这种情况一般是产生了很多不可以被释放的对象,有可能是引用使用不当导致,或申请大对象导致。

3、PermGen space

java.lang.OutOfMemoryError: PermGen space jdk1.7之前才会出现的问题 ,原因是系统的代码非常多或引用的第三方包非常多、或代码中使用了大量的常量、或通过intern注入常量、或者通过动态代码加载等方法,导致常量池的膨胀。

4、Direct buffer memory

java.lang.OutOfMemoryError: Direct buffer memory 直接内存不足,因为jvm垃圾回收不会回收掉直接内存这部分的内存,所以可能原因是直接或间接使用了ByteBuffer中的allocateDirect方法的时候,而没有做clear。

5、StackOverflowError

java.lang.StackOverflowError - Xss设置的太小了。

6、unable to create new native thread

java.lang.OutOfMemoryError: unable to create new native thread 堆外内存不足,无法为线程分配内存区域。

7、request {} byte for {}out of swap

java.lang.OutOfMemoryError: request {} byte for {}out of swap 地址空间不够。

相关推荐
Java面试题总结16 分钟前
java面试题及答案(基础题122道)
java·开发语言·jvm·spring·spring cloud·golang·java-ee
笨手笨脚の1 小时前
Java 性能优化
java·jvm·数据库·性能优化·分布式锁·分布式事务·并发容器
小陳参上1 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
moonlight030415 小时前
JVM基础概念
jvm
01二进制代码漫游日记18 小时前
C/C++中的内存区域划分
c语言·jvm·数据结构·学习
三无少女指南19 小时前
聊聊JVM里的符号引用、直接引用与动态分派
jvm
一叶飘零_sweeeet19 小时前
JVM 运行时数据区全解:从底层原理到 OOM 根因定位全链路实战
jvm
傻啦嘿哟1 天前
爬虫跑了一小时还没完?换成列表推导式,我提前下班了
java·开发语言·jvm
摇滚侠1 天前
java: Cannot compile module ‘consumer‘ configured for JVM target 17
java·jvm
木易 士心1 天前
Java中 synchronized 和 volatile 详解
java·开发语言·jvm