JVM Permspace、Metaspace空间使用问题

本文探讨了Tomcat中PermSpace和Metaspace空间使用问题,如何通过调整配置、识别占用原因并使用工具进行分析来避免内存溢出。重点介绍了JVM内存区域的作用,以及应对策略和分析工具MemoryAnalyzer的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JVM Permspace、Metaspace空间使用问题

问题描述:
1)tomcat启动过程中,出现PermSize Out Of Memory错误。报错如下:Exception in thread “main” java.lang.OutOfMemoryError: PermGen space
2)tomcat运行一段时间,出现“Tomcat JVM Perm区使用率超过90%”、“Tomcat JVM Meta区使用率超过90%”的告警。
原因分析:
JVM永久性内存区域PERM不足,需要调大。该内存区域用于存放加载的class字节文件,通常根据部署应用的使用情况设定。
规范默认配置JDK1.7(-XX:PermSize=512m -XX:MaxPermSize=512m),JDK1.8(-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize= 512m),部分tomcat的配置值不合理。
解决方案:
PermSize和MaxPermSize、MetaspaceSize和MaxMetaspaceSize保持大小一致,按应用实际情况可调整,建议不高于1024m。
如Perm使用频繁,建议加参数:-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingPermOccupancyFraction=75。
如果再大就建议联系研发排查,可使用jmap -permstat命令打印加载类的对象。

分析工具:MemoryAnalyzer-1.6.1.20161125-win32.win32.x86_64.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值