Jvm Permgen在Jboss 6上部署web应用程序时不断增长

Jvm Permgen在Jboss 6上部署web应用程序时不断增长,jvm,jboss6.x,permgen,Jvm,Jboss6.x,Permgen,我正在将JBoss4.2.3上早期的web应用程序移植到JBoss6上。目前共有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> we

我正在将JBoss4.2.3上早期的web应用程序移植到JBoss6上。目前共有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,并且在JBoss6上不断增长,我设置了-XX:MaxPermSize=512m

谁能为我提供识别问题的信息


环境:JDK 1.6.026,Ubuntu 11.10我不知道JBoss 6在perm gen内存方面要求更高的原因。
但是如果不使用注释扫描,禁用注释扫描可能会缩短启动时间。这对我们的应用程序很有帮助。

我上周遇到了同样的问题。JBoss-6微容器试图通过在启动时从类路径中的所有JAR加载类来扫描JBoss特定的注释。这会导致PermGen在开始加载所有不需要的类时膨胀

为了减少扫描量,微容器通过jboss-scanning.xml提供了另一个描述符挂钩。 将“jboss scanning.xml”添加到WARs内部的WEB-INF中,并将“jboss scanning.xml”添加到META-INF内部

<scanning xmlns="urn:jboss:scanning:1.0">

    <!-- Purpose: Disable scanning for annotations in contained deployment. -->

</scanning>

谁说这是个问题?在一个JVM上部署12个应用程序太多了,440MB pf permgen处理这个问题听起来并不过分。skaffman,谢谢你的回复,同样的应用程序在JBoss 4.2.3上需要大约150-170MB的permgen,默认设置-XX:MaxPermSize=256m就足够了。但在JBoss6上,我只部署了12个应用中的5个,PermGen几乎是它的3倍。我还验证了JBoss4.2.3上加载的类的数量约为25K,JBoss6上加载的类的数量为60K。JBoss6比JBoss4对内存的要求更高。这听起来不错。最后我能把所有12个应用程序都放进去了。服务器启动几乎需要10分钟。Permgen已达到1GB。堆大约为1.8GB。我的桌面在动画中运行:。我有4GB内存。顺便说一句,64位硬件/OS/JDK上的am。