JVM OOM情况
2008-06-17 17:10
99 查看
里再介绍一下JVM发生OOM的几种情况:
1、java.lang.OutOfMemoryError: Java heap space 这是我们平常理解的OOM,是由于heap space确实没有空间分配,这种一般是由于内存泄漏导致,也有可能是heap space设置太小。需要具体分析
2、java.lang.OutOfMemoryError: PermGen space jvm 规范里面有定义一个method space,这里主要放classes和method list和一个string pool,string有一个intern方法,通过这个方法定义的string都放在这里(好像不常用),这里设置不太小会导致OOM,缺省64M,主要由于现在应用依赖的第三方类越来越多,导致这类问题频繁发生,需要引起重视
3、Requested array size exceeds VM limit这种是由于申请的array size超出了heap space大小,比如在一个256M的heap space中申请一个512M的array,这种基本都是应用bug导致
4、request <size> bytes for <reason>. Out of swap space?这种是由于heap size设置相对于系统物理内存太大,导致系统swap space不足,这种的解决办法就是减小heap size大小 5、<reason> <stack trace> (Native method)这种估计是最麻烦的了,也是最少碰到的,是由于jni或native method导致,如果自己没有写这类的东西,基本可以说是jdk问题
1、java.lang.OutOfMemoryError: Java heap space 这是我们平常理解的OOM,是由于heap space确实没有空间分配,这种一般是由于内存泄漏导致,也有可能是heap space设置太小。需要具体分析
2、java.lang.OutOfMemoryError: PermGen space jvm 规范里面有定义一个method space,这里主要放classes和method list和一个string pool,string有一个intern方法,通过这个方法定义的string都放在这里(好像不常用),这里设置不太小会导致OOM,缺省64M,主要由于现在应用依赖的第三方类越来越多,导致这类问题频繁发生,需要引起重视
3、Requested array size exceeds VM limit这种是由于申请的array size超出了heap space大小,比如在一个256M的heap space中申请一个512M的array,这种基本都是应用bug导致
4、request <size> bytes for <reason>. Out of swap space?这种是由于heap size设置相对于系统物理内存太大,导致系统swap space不足,这种的解决办法就是减小heap size大小 5、<reason> <stack trace> (Native method)这种估计是最麻烦的了,也是最少碰到的,是由于jni或native method导致,如果自己没有写这类的东西,基本可以说是jdk问题
相关文章推荐
- 石家庄县(市)国省道雷达测速设置情况
- linux 查看内存,cpu使用情况
- Android之根据Uri获得图片或视频文件路径(解决4.4以上版本得不到路径的情况)
- 导致Link2019 错误的 另一种情况
- CF 530A(Quadratic equation-注意(-b+sqrt(Δ))/2a<(-b-sqrt(Δ))/2a的情况)[Picat]
- Java中OutOfMemoryError(内存溢出)的三种情况及解决办法
- C++ 获取本机全部IP地址(有不止一个IP的情况)
- linux下mv命令移动目录的二种情况
- PG数据库查看索引使用情况
- mysql 今天遇到一个神马情况
- 转发接口或下一跳网关的使用情况
- 授权登录情况下mongodb的恢复
- 怎么查看端口占用情况?
- 【Tomcat】当想把一个项目部署到Tomcat上时,发现项目版本过高的情况。
- 如何产看目录使用情况及空间有多大
- 关于函数返回值的几种情况
- 分析在Python中何种情况下需要使用断言
- vagrant global-status查到的情况
- 使用Oracle在线重定义包 DBMS_REDEFINITION 在不停业务的情况下增加或修改字段
- 文件使用二进制模式打开情况下的换行的方法