WoW! "jmap" was a great command to learn Chris! Thank you so much!

I generated a histogram of the Objects in the java heap (while things
were stable) and here's what I got:
Object Histogram:

Size    Count   Class description
-------------------------------------------------------
149989048       3496198 char[]
84708432        3529518 java.lang.String
58308016        560654  tw.beans.TWFotoBean
35620304        179282  byte[]
23286872        30767   int[]
18220184        142094  * ConstMethodKlass
14932056        622169  java.sql.Date
10235120        142094  * MethodKlass
10164784        90757   tw.beans.TWFotoSetBean
8878248 134561  java.lang.Object[]
7949144 16190   * ConstantPoolKlass
6147768 16190   * InstanceKlassKlass
4590176 13997   * ConstantPoolCacheKlass
...
...

As you've pointed out, most of the data is taken by character arrays,
Strings, integer arrays, byte arrays, Foto and FotoSet beans! There
were just 67 Ticket entries (related to CAS) and the size of the
Ticket objects wasn't huge either.

Seeing the histogram results was an eye opener. I am wondering if
Rainer was right all along. Is it just the application data (FotoBean
and FotoSetBean) that's inundating the java heap?

I had changed the session-timeout in server.xml from 30 minutes to 240
minutes. That means an HTTP Session would now last 8 times longer.
Since the Garbage Collector runs only when the session expires, the
application's memory needs are probably increased 8 fold (Am I
right?). And I am storing the FotoBeans and FotoSetBeans in each
user's HTTP Session. As I mentioned before, previously the java heap
was set to the default, 64MB, and it used to be sufficient. From the
time I changed the session-timeout, even 512MB (= 64 X 8) is
insufficient.

Should I just decrease the session-timeout to 2 hours and see if 512MB
is sufficient? Any other thoughts/ideas guys?

Thanks again Chris,
Joe

Here are all the Ticket entries in the heap:
96      4       org.jasig.cas.util.DefaultUniqueTicketIdGenerator
72      3       org.jasig.cas.util.DefaultUniqueTicketIdGenerator
72      3       org.jasig.cas.util.DefaultUniqueTicketIdGenerator
72      3       org.jasig.cas.util.DefaultUniqueTicketIdGenerator
72      3       org.jasig.cas.util.DefaultUniqueTicketIdGenerator
72      3       org.jasig.cas.util.DefaultUniqueTicketIdGenerator
24      1       org.jasig.cas.web.flow.SendTicketGrantingTicketAction
24      1       org.jasig.cas.web.flow.SendTicketGrantingTicketAction
24      1       org.jasig.cas.web.flow.SendTicketGrantingTicketAction
24      1       org.jasig.cas.web.flow.SendTicketGrantingTicketAction
24      1       
org.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator
24      1       
org.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator
24      1       
org.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator
24      1       
org.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator
24      1       org.jasig.cas.web.flow.SendTicketGrantingTicketAction
24      1       
org.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator
24      1       org.jasig.cas.web.flow.SendTicketGrantingTicketAction
24      1       
org.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator
16      1       org.jasig.cas.util.SamlCompliantUniqueTicketIdGenerator
16      1       org.jasig.cas.ticket.registry.DefaultTicketRegistry
16      1       
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner
16      1       org.jasig.cas.util.SamlCompliantUniqueTicketIdGenerator
16      1       org.jasig.cas.ticket.registry.DefaultTicketRegistry
16      1       org.acegisecurity.providers.cas.proxy.RejectProxyTickets
16      1       org.jasig.cas.web.flow.GenerateServiceTicketAction
16      1       org.jasig.cas.ticket.registry.DefaultTicketRegistry
16      1       
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner
16      1       org.acegisecurity.providers.cas.proxy.RejectProxyTickets
16      1       
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner
16      1       org.jasig.cas.web.flow.GenerateServiceTicketAction
16      1       org.jasig.cas.util.SamlCompliantUniqueTicketIdGenerator
16      1       org.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache
16      1       org.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache
16      1       
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner
16      1       org.jasig.cas.util.SamlCompliantUniqueTicketIdGenerator
16      1       org.jasig.cas.web.flow.GenerateServiceTicketAction
16      1       org.acegisecurity.providers.cas.proxy.RejectProxyTickets
16      1       
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner
16      1       org.jasig.cas.web.flow.GenerateServiceTicketAction
16      1       org.acegisecurity.providers.cas.proxy.RejectProxyTickets
16      1       org.jasig.cas.ticket.registry.DefaultTicketRegistry
16      1       org.jasig.cas.ticket.registry.DefaultTicketRegistry
16      1       org.jasig.cas.ticket.registry.DefaultTicketRegistry
16      1       
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner
16      1       org.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache
16      1       org.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache
16      1       org.jasig.cas.util.SamlCompliantUniqueTicketIdGenerator
16      1       org.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache
16      1       org.acegisecurity.providers.cas.proxy.RejectProxyTickets
16      1       org.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache
16      1       org.jasig.cas.util.SamlCompliantUniqueTicketIdGenerator
16      1       org.jasig.cas.web.flow.GenerateServiceTicketAction
16      1       org.jasig.cas.web.flow.GenerateServiceTicketAction
16      1       org.acegisecurity.providers.cas.proxy.RejectProxyTickets

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to