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

相关推荐
一直不明飞行9 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
2301_8039346110 小时前
Go语言如何做网络爬虫_Go语言爬虫开发教程【指南】
jvm·数据库·python
2301_8039346112 小时前
MySQL 字段类型选择规范指南
jvm·数据库·python
阿坤带你走近大数据14 小时前
Java中的JVM、类加载记住、多线程、性能优化的概念
java·jvm·性能优化
雪度娃娃17 小时前
转向现代C++——优先选用限定作用域的枚举型别,而非不限作用域的枚举型别
java·jvm·c++
欢璃18 小时前
笔试强训练习
java·开发语言·jvm·数据结构·算法·贪心算法·动态规划
Dicky-_-zhang18 小时前
Go语言内存管理与GC机制深度解析
java·jvm
老纪19 小时前
c++怎么利用std--variant处理多种二进制子协议包的自动分支解析【进阶】
jvm·数据库·python
JAVA面经实录91719 小时前
JVM高频面试总结(背诵完整版)
java·开发语言·jvm
沪漂阿龙19 小时前
Java JVM 面试题详解:JVM运行原理、内存模型、堆栈方法区、GC垃圾回收、JIT编译、类加载机制与线上调优全攻略
java·开发语言·jvm