一尘不染

在Tomcat 6中重复出现“ PermGen”

tomcat

我在Tomcat 6服务器上不断收到“ PermGen”错误。

我知道是什么应用程序导致了问题,但是我不确定为什么会导致此问题。该应用程序正在使用MySQL 5并在JDK 6上运行。

是否有任何工具/建议来诊断或分析特定应用程序的潜在问题?

谢谢


阅读 240

收藏
2020-06-16

共1个答案

一尘不染

PermGen用于存储类定义和内部字符串池。您的代码可能正在填充它(如果它不必要地调用了intern),但是更有可能的是应用程序的默认值过小。

这是因为Tomcat每次部署WAR时都会加载新类,或者,如果您在开发环境中工作,则每次编辑JSP时都会加载新类。最终应该清除它们,但是在活跃的开发环境中,您可能会遇到同时加载新旧实例的时期。或者,如果您处于生产环境中并且拥有大型Web应用程序,则可能仅需要更多空间。

要设置烫发大小,请使用 -XX:MaxPermSize=SIZE

以下链接可能会有所帮助:调整GC(这是1.5版),GC
FAQ
(1.4.2版),热点VM选项(我相信这是1.6)

2020-06-16