You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2010/12/02 16:00:19 UTC

DO NOT REPLY [Bug 48358] JSP-unloading reloaded

https://issues.apache.org/bugzilla/show_bug.cgi?id=48358

--- Comment #15 from Christian Brandel <cb...@gmx.de> 2010-12-02 10:00:12 EST ---
Tha patch applies cleanly to 6.0.29 from the src archive.
However it does not work for me the way I expected it and I am still facing
PermGen Out Of Memory errors.

- The counters in the JspMonitor MBean for jspCount, jspReloadCount,
jspUnloadCount, jspQueueLength were updated appropriately

- When running with -XX:+TraceClassUnloading I did not see any org.apache.jsp.*
classes being unloaded until I shut down the Tomcat process

- Looking at a Heap Dump written at the time of the crash, I saw 337 instances
of org.apache.jsp.xxx classes being held while I configured the maxLoadedJSPs
to be 200

Are there any additional settings that have to be adapted? My current settings
are:

Java 1.6 32bit on Windows 2003 Server with the following settings (memory
parameters are set to small values to shorten the time until tomcat crashes)

-Xms256m -Xmx256m
-XX:MaxPermSize=48M
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=E:\logs\wcmInternet\ContentProxy1\tomcat
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true
-Dorg.apache.jasper.runtime.BodyContentImpl.USE_POOL=false
-XX:+TraceClassUnloading

Global web.xml:
    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>    
    <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>development</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>enablePooling</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>modificationTestInterval</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>genStringAsCharArray</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>maxLoadedJsps</param-name>
            <param-value>200</param-value>
        </init-param>        
        <load-on-startup>3</load-on-startup>
    </servlet>

Side note: If this is not the correct place to discuss this, I'm happy to
continue it elsewhere.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org