On 13.12.2010 14:40, Caldarale, Charles R wrote:
From: Luca Gervasi [mailto:tom...@ashetic.net]
Subject: [Mostly OT] Sweeping the permgen space: is that a good thing?
Studying the JVM, i understand that the permgen is never sweeped by GC.
Not sure whether you mean that GC ignores PermGen, or just that in your
particular situation, GC is not clearing out PermGen of what you think are dead
classes.
The former is definitely untrue, although that rumor has wandered around the
Internet for many years.
I think that rumor is based on confusing
- GC in Perm Gen when Perm Gen gets full:
that's always done automatically
- GC in Perm Gen whenever tenured gets GC'd:
it might depend on the GC algo and JVM version,
but that's off by default at least for CMS and
many JVM versions
The latter GC is not strictly necessary. It adds to CPU usage and
posible stop time (depending on GC algo) every time tenured is cleaned
up. On the other hand I'd expect stop time doesn't increase a lot and
most of it is happening anyhows when tenured is cleaned up, so it might
be more OK to do it every time when tenured GC runs instead of doing it
additionally when Perm Gen gets full.
Inmost cases this should be a minor optimization (or deoptimization).
You should definitely move up to a current JVM - 6u23 if possible. Also, the
latest versions of Tomcat 6.0 include memory leak detection and correction for
several typical application abuses, so try that as well.
+1000000
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org