Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
The moose likes Performance and the fly likes CMSClassUnloadingEnabled  vs CMSPermGenSweepingEnabled Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Performance
Bookmark "CMSClassUnloadingEnabled  vs CMSPermGenSweepingEnabled " Watch "CMSClassUnloadingEnabled  vs CMSPermGenSweepingEnabled " New topic

CMSClassUnloadingEnabled vs CMSPermGenSweepingEnabled

Raja Nagendra Kumar

Joined: Jun 14, 2008
Posts: 27

Are the options CMSClassUnloadingEnabled and CMSPermGenSweepingEnabled are same, when ever I use this combination options for JVM it says

Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in the future

However, if I remove CMSPermGenSweepingEnabled option, the PermGen outof memory is coming, with this option in place along with other such errors don't come.

In such case, why the java gives such message during the startup.

Raja Nagendra Kumar,

Raja Nagendra Kumar,
Kees Jan Koster
JavaMonitor Support

Joined: Mar 31, 2009
Posts: 251
Dear Raja,

You have two problems: permgen leak and a message at startup. To me, they seem unrelated.

1) about the message: follow its advise and that's that.

2) about the permgen leak: how do you monitor your permgen? How much permgen do you give your app and how much does it use? Does the permgen fill slowly over time or in jumps? Do the jumps (if they are there) co-incide with redeployment?

Java-monitor, JVM monitoring made easy <- right here on Java Ranch
luri ron
Ranch Hand

Joined: Dec 11, 2008
Posts: 87
if you need to get more data about the default perm generation size and the GC in your app, add the gc verbose and details, this way you know what happen within your process.

-verbose:gc and -XX:+PrintGCDetails
I agree. Here's the link:
subject: CMSClassUnloadingEnabled vs CMSPermGenSweepingEnabled
It's not a secret anymore!