Below are the snapshots taken after executing the GC from jvisualvm.
and 
The first image is heap statistics, and the second is permenting statistics. I cannot understand when the GC used heap size decreased (as expected), but the increased constant generation size increased (although the used pergman size remained the same). What could be the possible explanation of such behavior?
JVM arguments used
-Xbootclasspath/p:../xyz.jar -Xbootclasspath/a:../abc.jar -Djava.endorsed.dirs=../resolver -Djava.library.path=../framework -Djavax.management.builder.initial=JBeanServerBuilder -Djavax.net.ssl.trustStore=../certs -Dorg.mortbay.log.class=JettyLogger -Xms128m -Xmx256m -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=2000
Note. I changed the name (ex xyz.jar) for reasons related to the sentence.
JVm Information:
JVM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04, mixed mode) Java: version 1.7.0_11, vendor Oracle Corporation Java Home: /home/aniket/jdk1.7.0_11/jre JVM Flags: <none>
java garbage-collection jvm permgen heap-memory
Aniket thakur
source share