Permgen Space导致的内存溢出

问题描述

最近同事系统反馈系统出现如下错误:
这里写图片描述

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。

解决过程

使用jstat查看 Permsize 占用情况,如下所示:

using thread-local object allocation.
Parallel GC with 4 thread(s)

Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 2147483648 (2048.0MB)
   NewSize          = 1310720 (1.25MB)
   MaxNewSize       = 17592186044415 MB
   OldSize          = 5439488 (5.1875MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 21757952 (20.75MB)
   MaxPermSize      = 85983232 (82.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 715259904 (682.125MB)
   used     = 8176712 (7.797920227050781MB)
   free     = 707083192 (674.3270797729492MB)
   1.1431805353931876% used
From Space:
   capacity = 262144 (0.25MB)
   used     = 0 (0.0MB)
   free     = 262144 (0.25MB)
   0.0% used
To Space:
   capacity = 262144 (0.25MB)
   used     = 0 (0.0MB)
   free     = 262144 (0.25MB)
   0.0% used
PS Old Generation
   capacity = 1431699456 (1365.375MB)
   used     = 45577208 (43.46581268310547MB)
   free     = 1386122248 (1321.9091873168945MB)
   3.183434051678511% used
PS Perm Generation
   capacity = 85983232 (82.0MB)
   used     = 85982928 (81.99971008300781MB)
   free     = 304 (2.899169921875E-4MB)
   99.99964644269245% used

如上所示,可以看到PS Perm Generation被占用了99%,分配不足。

解决方案

从上面 可以看出MaxPermSize = 85983232 (82.0MB)即永久保存区域扩大设置
如:
对于Tomcat服务器,则需要修改TOMCAT_HOME/bin/catalina.sh
SET JAVA_OPTS=-XX:PermSize=64 M -XX:MaxPermSize=256 M

参考:https://blog.csdn.net/alli0968/article/details/52460008

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值