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 地址空间不够。

相关推荐
CaracalTiger1 天前
如何解决Unexpected token ‘<’, “<!doctype “… is not valid JSON 报错问题
java·开发语言·jvm·spring boot·python·spring cloud·json
江湖有缘1 天前
自托管RSS解决方案:Docker化Fusion安装教程
java·jvm·docker
Chan162 天前
《深入理解Java虚拟机》| 类加载与双亲委派机制
java·开发语言·jvm·面试·java-ee·intellij-idea
闻哥2 天前
GET和POST请求的本质区别
java·网络·jvm·spring·http·面试·https
野犬寒鸦2 天前
从零起步学习并发编程 || 第八章:ThreadLocal深层解析及常见问题:避坑指南与最佳实践
java·服务器·开发语言·jvm·算法
生命因何探索3 天前
JVM知识汇总
jvm
heartbeat..3 天前
Java 中的类加载器的双亲委派模型:原理、层级与实现
java·开发语言·jvm·类加载器
Mr Aokey3 天前
JVM三剑客:内存模型、类加载机制与垃圾回收精讲
java·jvm
程序员ken3 天前
献给自己的一款个人管理的桌面软件(一)
java·开发语言·jvm
团子的二进制世界3 天前
JVM 运行时数据区的 7 大组成部分
jvm