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

Reply via email to