PermGen space OOM 记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PermGen space OOM 记录相关的知识,希望对你有一定的参考价值。

前些天线上除出了个OOM问题,今天闲下来记录下:

  OOM的提示信息是-PermGen space,说明问题出在方法区,方法区存的是什么东西?:类的加载信息、常量、静态变量。

  按照方法区的定义:类加载的多了?常量、静态变量定义的多了? 

  我们项目中使用了Dubbo,大家知道因为Dubbo是通过动态代理的技术去动态生成调用类,与服务端通信的,动态生成的类多了,方法区内类的加载信息也就多了,所以就OOM了。

  查看线上PermSize大小,用的默认的大小,大概80多M,增加配置:-xx:PermSize:256M -xxMaxPermSize:512M 后问题解决。

 

注: 我们项目用的jdk1.7,在jdk1.8后HotSpot没有PermSize这个参数了,改用MetaspaceSize来配置方法区元数据大小

以上是关于PermGen space OOM 记录的主要内容,如果未能解决你的问题,请参考以下文章

https://stackoverflow.com/questions/16130292/java-lang-outofmemoryerror-permgen-space-java-reflectio

PermGen 空间的意义

tomcat 内存溢出问题(OutOfMemoryError: PermGen space)

内存泄露java.lang.OutOfMemoryError: PermGen space解决方法

tomcat 开启时,或者访问网页后PermGen space错误解决方法 java.lang.OutOfMemoryError: PermGen space

tomcat启动出现PermGen space错误