温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PermSize 设置过小对性能的影响(OutOfMemoryError:PermGen spac)

发布时间:2020-07-26 20:19:53 来源:网络 阅读:2176 作者:zhouanyafu 栏目:软件技术

【现象】:应用更新新版本后,其中一台机出现了较多的重启现象。

【原因分析】:

分析应用日志,发现有OutOfMemoryError:PermGen space,此报错说明 PermSize 设置过小,没有足够的内存使用。


【解决方案】:

修改JVM配置,配置上

<jvm-arg>-XX:PermSize=128m</jvm-arg>

<jvm-arg>-XX:MaxPermSize=128m</jvm-arg>


说明:JVM的Perm区主要用于存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space,这个区域成为年老代,GC在主程序运行期间不会对年老区进行清理,默认是64M大小的,当程序需要加载的对象比较多时,超过64M就会报这部分内存溢出了,需要加大内存分配,一般128m足够。

还有一种直接报java.lang.OutOfMemoryError的,这种情况一般是jvm最大和最小内存分配配置有问题,最小内存分配过小,GC频率高,降低jvm性能,但最小内存也不能无限增大,最小内存增大,GC频率低了,但其执行时间会加长,GC执行期间,java程序是不处理其他请求的,因此将最小内存xms和最大内存xmx设置一样大,xmn值设置约为xmx的1/3.


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI