标签:jdk 动态代理 定义 默认 rms 方法 变量定义 bsp 静态变量
前些天线上除出了个OOM问题,今天闲下来记录下:
OOM的提示信息是-PermGen space,说明问题出在方法区,方法区存的是什么东西?:类的加载信息、常量、静态变量。
按照方法区的定义:类加载的多了?常量、静态变量定义的多了?
我们项目中使用了Dubbo,大家知道因为Dubbo是通过动态代理的技术去动态生成调用类,与服务端通信的,动态生成的类多了,方法区内类的加载信息也就多了,所以就OOM了。
查看线上PermSize大小,用的默认的大小,大概80多M,增加配置:-xx:PermSize:256M -xxMaxPermSize:512M 后问题解决。
注: 我们项目用的jdk1.7,在jdk1.8后HotSpot没有PermSize这个参数了,改用MetaspaceSize来配置方法区元数据大小
标签:jdk 动态代理 定义 默认 rms 方法 变量定义 bsp 静态变量
原文地址:http://www.cnblogs.com/Non-Tecnology/p/7225508.html