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来配置方法区元数据大小

原文地址:https://www.cnblogs.com/Non-Tecnology/p/7225508.html