Tomcat OutOfMemoryError: PermGenSpace 解决全过程

需积分: 10 1 下载量 177 浏览量 更新于2024-09-09 收藏 78KB DOCX 举报
"本文主要探讨了在使用Tomcat服务器时遇到的内存溢出错误`OutOfMemoryError-PermGen-space`的解决方案。作者分享了自己在解决该问题时的经历,强调了配置内存参数的重要性,但发现即使设置了较大的 PermGen 配置,如几百兆字节,依然未能解决问题。通过使用JDK自带的jconsole工具,作者发现Tomcat运行时的实际 PermGen 最大值只有64M,这是导致溢出的原因。 在Myeclipse8.5环境中,作者在`catalina.bat`脚本中进行了调整,增加了以下JVM参数以扩大 PermGen 空间:`-Xms256m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=512m`。值得注意的是,这些参数应放在`rem-----ExecuteTheRequestedCommand-`注释之后,且确保`setJAVA_OPTS`命令也进行了相应的更新。然而,文档中关于这些配置的描述并不完整,许多教程可能遗漏了这一点。 文章的中心内容围绕如何通过正确的配置和使用内存监控工具来识别和解决 PermGen 空间不足的问题,提醒读者在遇到类似问题时,不仅要关注总内存分配,还要注意 PermGen 的独立配置,并确保其与实际需求相匹配,以避免内存溢出。通过作者的经验分享,读者可以避免在解决此类问题时走弯路,提高问题解决效率。"