tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 48358] JSP-unloading reloaded
Date Thu, 02 Dec 2010 16:35:12 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=48358

--- Comment #16 from Christian Brandel <cbrandel@gmx.de> 2010-12-02 11:35:07 EST ---
Update:

I ran a similar test against the examples webapp with maxLoadedJsps set to 10.
Right before and after a manually triggered GC there were 43 instances of
org.apache.jsp. classes (jsps and some tag instances) in the heap dump.
So it looks to me as if somehow the classes are not unloaded.

(In reply to comment #15)
> 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


Mime
View raw message