The permanent generation is used to hold reflective objects of the VM such as class objects and method objects. These reflective objects are allocated directly into the permanent generation, and it is sized independently from the other generations.
- -XX:PermSize: This option is used to set a new initial size on Sun JVM when starting the virtual machine.
- -XX:MaxPermSize: This option is used to set the maximum permanent generation size.
When the number of components launched in-memory increases, so do the number of classes loaded. Perm Gen space stores the meta data of the JVM and is not part of the Heap space.