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

相关推荐
白露与泡影11 小时前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#
Ai_easygo13 小时前
MCP 协议实战:用 Claude Desktop 连本地 SQLite,5 分钟搭一个能查数据的 AI 助手
jvm·人工智能·sqlite
小园子的小菜2 天前
深入理解 JVM 垃圾回收:从对象判定、回收算法到经典收集器全解析
jvm·算法
孫治AllenSun2 天前
【JVM】四大引用类型分析
java·开发语言·jvm
笨笨饿3 天前
101_详解USB协议
java·jvm·数据结构
雪的季节3 天前
Python 垃圾回收触发完整机制
java·jvm·算法
heimeiyingwang3 天前
【架构实战】JVM调优:GC选择与堆内存分配策略
jvm·架构
J-Tony114 天前
【JUC】关于锁的那点事
java·jvm·算法
斑鸠喳喳4 天前
类加载子系统
jvm
youtootech4 天前
HarmonyOS《柚兔学伴》项目实战08-关系型数据库入门——待办事项持久化
jvm·数据库·华为·harmonyos