码迷,mamicode.com
首页 > 编程语言 > 详细

Tomcat Java.OutOfMemoryError : PermGen Space异常

时间:2017-10-25 11:33:37      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:容量   mem   exec   类信息   2-2   tom   没有   msi   过程   

背景:前些日子更新公司多年前一个旧平台发布到Tomcat上之后,频繁收到网站许多模块无法正常使用的反汇。

测试过程中发现平台发布一段时间后,访问相关网页出现如下500页面

技术分享

解决方案:PermGen space(permanent generation space 永久保存区域) windows下默认最大设置64M.

    重启tomcat服务后通过http://localhost:3088/manager/status查看Perm Gen占用率已经达到了90%以上 难怪运行一段时间后会内存溢出

    windows平台上解决方法:

    调整tomcatPermGen Space的大小:tomcat(解压版)\bin\catalina.bat  搜索%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%   在后边添加-XX:PermSize=64m -XX:MaxPermSize=128m  重启tomcat 进入状态管理页面 发现最大容量已经改变

技术分享

根本原因:该平台下于多年前已经开发完毕,之后一直处于维护更新状态公司并没有重构该平台的想法,由于当时并没有使用包管理工具同时包含多个webapp,导致每个webapp目录下都存在大量重复或无用的jar包里面的类信息被投入到永久保存区域中内,从而导致PermGen space内存溢出的情况发生。

Tomcat Java.OutOfMemoryError : PermGen Space异常

标签:容量   mem   exec   类信息   2-2   tom   没有   msi   过程   

原文地址:http://www.cnblogs.com/chrischris/p/7727292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!