tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Cross <br...@tigernet.com>
Subject Mem Leak / Too Many ServerCookie instances?
Date Fri, 23 Feb 2007 20:36:12 GMT
Hello, I have been trying to figure out the cause of a memory leak in my 
web application that causes "java.lang.OutOfMemoryError: GC overhead 
limit exceeded" and "java.lang.OutOfMemoryError: Java heap space" errors.
This happens about once a day after heavy load.  I am using dumps from 
jmap and jhat to parse the dump. 

It seems like there are more instances of 
org.apache.tomcat.util.http.ServerCookie than there should be and they 
seem to be taking up a fairly big piece of memory.  Usually there are 
300 or so busy http threads, and there are 299 instances of 
org.apache.tomcat.util.http.Cookies, but it looks like there are 4549 
instances of ServerCookie, which seems weird to me. 
I guess that is around 15 cookies per request.  It looks like the 
ServerCookie instances are taking up > 100 meg.  Maybe this is totally 
normal but I'm just starting with what is taking up the biggest chunk of 
memory and going from there.
If anyone has any information or advice, I would really appreciate it.  
Here is a trace down from the heap histogram.  The >>> means I drilled 
down into that class.


Heap Histogram

All Classes (excluding platform)
Class                                                  Instance Count 
    Total Size

class [B                                                           56760 
    614689141   >>>>
class [C                                                       1124519 
    312509218
class [I                                                          107844 
      92680628
class [Ljava.util.HashMap$Entry;                     40941       26222864
class java.lang.String                                      965281       
19305620
class [Ljava.util.Hashtable$Entry;                     57747         7655160
class [Ljava.lang.Object;                                  79781         
7227456
class java.util.HashMap$Entry                        244617         6849276
class java.util.Hashtable$Entry                        199424         
5583872
class [Ljava.lang.String;                                    57062     
    5558752


      Referrers by Type


Class                                                              
Instance Count

org.apache.tomcat.util.buf.ByteChunk             18696 (33%) 
(203mb)         >>>>
[Ljava.lang.Object;                                         11986
[[B                                                                   9990
java.nio.HeapByteBuffer                                   6200
com.mysql.jdbc.Buffer                                      2429
com.mysql.jdbc.Field                                        2217


org.apache.tomcat.util.buf.MessageBytes         44576             >>>>


org.apache.tomcat.util.http.ServerCookie         22665             >>>>
org.apache.tomcat.util.http.MimeHeaderField   12480
org.apache.coyote.Request                                4488


[Lorg.apache.tomcat.util.http.ServerCookie;      4549            >>>>

org.apache.tomcat.util.http.Cookies                     299            


Thanks again,

--Brian.


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message