在 Jboss 6 上部署 Web 应用程序时 Permgen 不断增长
我正在将 Jboss 4.2.3 上早期的 Web 应用程序移植到 Jboss 6 上。总共大约有 12 个 Web 应用程序,目前仅部署了 4 个。
这些 Web 应用程序基于 Axis2 1.5.5、spring 2.5、hibernate 3.2.5、OpenJPA 1.0、saxon 9.1。
类加载器隔离设置如下
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
webapp:loader=webapp.war
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</class-loading>
我看到 PermGen 已经达到 440MB 并且在 Jboss 6 上不断增长,并且我设置了 -XX:MaxPermSize=512m
任何人都可以为我提供识别问题的输入。
环境:JDK 1.6.0_26、Ubuntu 11.10
Am porting web applications which were earlier on Jboss 4.2.3 onto Jboss 6. There are about 12 web applications totally and out of which only 4 are deployed as of now.
These web applications are based on Axis2 1.5.5,spring 2.5,hibernate 3.2.5,OpenJPA 1.0, saxon 9.1.
The classloader isolation is set as follows
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
webapp:loader=webapp.war
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</class-loading>
I see that the PermGen has already reached 440MB and growing on Jboss 6 and I have set -XX:MaxPermSize=512m
Can anyone provide me inputs in identifying the problem here.
Environment: JDK 1.6.0_26, Ubuntu 11.10
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不知道为什么JBoss 6对perm gen内存方面的要求更高。
但是,当您禁用注释扫描(如果不使用它)时,启动时间可能会缩短。对我们的申请很有帮助。
The reason why JBoss 6 is more demanding on the perm gen memory side, i do not know.
But the startup time might be improved when you disable annotation scanning (if not using that). It helped for our application.
我上周遇到了同样的问题。 JBoss-6 微容器尝试通过在启动时加载类路径中所有 JAR 中的类来扫描 Jboss 特定注释。这会导致 PermGen 膨胀,因为它开始加载所有不需要的类。
为了减少扫描量,微容器通过 jboss-scanning.xml 提供了另一个描述符挂钩。
将此“jboss-scanning.xml”添加到 WAR 内的 WEB-INF,并将“jboss-scanning.xml”添加到 EAR 内的 META-INF。
I encountered the same problem last week. The JBoss-6 Microcontainer tries to scan for Jboss specific annotations by loading the classes from all the JARs in the class-path on startup. This causes the PermGen bloating as it starts to load all the unwanted classes.
To reduce the amount of scanning, the Microcontainer provides another descriptor hook, by means of jboss-scanning.xml.
Add this 'jboss-scanning.xml' to the WEB-INF inside WARs and ass 'jboss-scanning.xml' to the META-INF inside EARs.