2019-08-20 JVM持久代(方法区)
2019-08-20 本文已影响0人
归去来ming
公司领导指示:最近某项目出现异常:"java.lang.OutOfMemoryError: PermGen space”,是因为最近上的新组件在启动时加载更多jar文件生成更多代理类,请大家仔细检查下,把项目的启动参数加上“-XX:PermSize=256m -XX:MaxPermSize=512m”
方法区也可称为永久区,不属于堆的一部分。在HotSpot虚拟机中,使用-XX:MaxPermSize可以设置持久代的最大值,使用-XX:PermSize可以设置持久代的初始大小。在现有的软件开发项目中,CGLIB和Javassist等动态字节码生成工具已经得到了非常普遍的使用。当系统中需要生成大量动态类时,对持久代的压力会比较大。
配置方法如下:
某服务的启动脚本 上个脚本中包含的start-jar.sh部分内容-XX:+AggressiveOpts的作用:
-XX:+AggressiveOpts