I see many unloading of classes and my entire system will hang during that period of time..
[Unloading class sun.reflect.GeneratedMethodAccessor117]
[Unloading class sun.reflect.GeneratedConstructorAccessor1896]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor485]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor579]
.... // about 1700 of them
at the same time I do not see a spike in perm space, so it doesn't seems to be a GC event.
I wish to know the following
IS Concurrent Mark Sweep collection a stop the world event?
Does it happen even when the perm space is not full?
CMS is a type of GC and is divided into phases
As you can see two phases - Initial mark and Remark are stop the world events.
Source : Under
Reviewing Generational GC and CMSsection.AFAIK for this you should have
CMSClassUnloadingEnabledwithUseConcMarkSweepGC. And FGC will be triggered when permgen area reaches it's threshold.Also though Concurrent Sweep(phrase (4)) is not STW event if permgen area get filled up(and GC is still processing permgen area) it may led to stopping all process threads and only GC thread running till all required memory is reclaimed.