java.lang.OutOfMemoryError: PermGen space 求助

maodie007 maodie007 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
用的是tomcat 对于这个错误在网上也找了下
说是这么形成的

OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大
内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load
的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage
Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD
很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进
行pre compile的时候。


我的猫里确实有很多第三方类包 spring hibernate struts 之类的。 即使初次加载未出现那错误,但是自己多次部署后也会出现这个错误。
网上说可以配置下tomcat属性,我也配置了,但是没有解决根本问题,再多加入web项目或者再多次部署工程也会同样出现此问题。
又如网上说可以这样

将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少
jar 文档重复占用内存的目的。


但是我在tomcat6.0版本下未看到这个文件夹。

我查看了下我tomcat里工程中lib文件夹的大小。有几个都过了10M。
不知道大家有没有碰到这个样的情况,也不知道你们是怎么解决的?
如果换个服务器怎么样呢? weblogic ? 或者 jboss?
哎。。。希望看到大家有经验的见解!!!!
感谢
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
maodie007
Java SE 62,620 成员 307,251 内容