0

我注意到在大型应用程序中会发生这种情况,前端服务器非常快地吞噬 PermGen,最糟糕的是它在每个请求上都在不断增加,有时即使我们根本不向应用程序服务器发出任何请求,它也会继续增加. 我在 tomcat 6.0.33、tomcat6.0.29 上都遇到了这个问题。

为了隔离问题,我选择了 struts 空白,令我沮丧的是,它显示出相同的趋势。这是正常的吗?我尝试使用 maven (mvn archetype:generate) 检查一些 struts2 版本,如 2.2.1、2.2.1.1、2.2.3.1,在码头运行它们后,我注意到 PermGen 空间在每个请求中都被填满了 2 -3KB。我正在测试 struts blank 和 jetty-6.1.21。

由于 PermGen 随着请求数量的增加而增加,我怀疑用它投入生产有多少价值?

4

1 回答 1

4

唯一确定的方法是附加一个分析器并查看哪些类占用了最多的内存,并尝试找到内存泄漏。您可以将 jvm 配置为在崩溃时转储堆,并将生成的文件加载到分析器中以查看堆崩溃时的状态。

Struts 用于许多生产 Web 应用程序。我认为这更有可能是您的应用程序的问题。

于 2012-01-12T16:56:05.047 回答