开发者社区> 问答> 正文

tomcat PermGen space 内存溢出,调整PermSize效果不明显?报错

@红薯@皮总 @宏哥 @南湖船老大 @eechen @逝水fox @xrzs

诸位好:向诸位请教一个问题,最近公司新上一台R720,内存128G的,替换了原来8G内存的服务器,服务器上配置了多个tomcat,更换后出现如下报错:


Exception in thread "TP-Processor122" Exception in thread "TP-Processor130" java.lang.OutOfMemoryError: PermGen space
Exception in thread "TP-Processor129" java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
Exception in thread "TP-Processor133" java.lang.OutOfMemoryError: PermGen space
Exception in thread "TP-Processor135" java.lang.OutOfMemoryError: PermGen space
Exception in thread "TP-Processor140" Exception in thread "TP-Processor137" java.lang.OutOfMemoryError: PermGen space
Exception in thread "TP-Processor134" java.lang.OutOfMemoryError: PermGen space
Exception in thread "TP-Processor139" Exception in thread "TP-Processor138" java.lang.OutOfMemoryError: PermGen space
Exception in thread "TP-Processor136" java.lang.OutOfMemoryError: PermGen space



然后按照惯例调整大了最大内存等相关参数

VA_OPTS="-Xms2048m -Xmx2048m -Xss1024K -XX:PermSize=2048m -XX:MaxPermSize=4096m"


效果不是很明显,因为系统是64位的,如果再出现,想继续加大设置的数值,但是之前整个服务器就8G内存也没出现这个问题(PS,服务器上有6个tomcat),换成128G内存的新服务器反而出现这个问题,让人费解,网站大部分资料均是说调整如上参数

请各位大神给指点迷津,谢谢



展开
收起
爱吃鱼的程序员 2020-06-20 19:32:47 570 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    一眼看上去,你参数用的就不对, PermSize乱用了,不过出这种问题很多工具可以直接分析和查看使用情况的,你最好研究哈,找到出问题的代码,肯定写的很烂

    嗯,谢谢

    @逝水fox


    逝水fox
    xmx加到8g,permsize调到512m,maxpermsize1g好的,我试试,谢谢皮总

    负载均衡

    谢谢

    还是应该用mat,jmap之类的工具分析下,为啥持久代内存溢出,统计下到底加载了多少类,持久代一般放一些类描述,静态变量之类的,怎么会消耗这么大,程序里面怎么用的?

    好的,谢谢
    2020-06-20 19:33:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载