I see many unloading of classes and my entire system will hang during that period of time..
[Unloading class sun.reflect.GeneratedMethodAccessor117]
[Unloadi
Usually perm gc doesn't make hang up issue.
The reason is, Perm is usually stabilized after all classes in application has been loaded. it can be a result of hang up. It means, if JVM doesn't have enough memory. It tries to Full-GC. As a part of the full gc, Perm will be GCed.
About the question u asked CMS also makes Full GC. It just reduce # of Full GC. During Minor GC, it also collect Old memory area.
In my opinion, you may have a problem in Heap memory and it makes a # of Full GC and make a hang issue. So u need to check memory usage by using Visual JVM tools or some kinds of GC log analysis. You may find that the Old memory area are full and JVM tried to GC it. but sufficient memory is not freed and it retry gc . and retry retry..etc.
I think you may have a memory leak. issue. So it is better to GC log analysis and if it is memory leak issue, u need to have heap dump and analysis it.