I have read this article about virtual machine garbage collection tuning to understand the java garbage collector better. Each space has a Virtual heap space area
PermGen vs Young generation ratio is partially maintained by JVM, but to say if ratio is maintained, the answer is No.
JVM7 has become sufficiently advanced and complicated where we shouldn't predict the allocation of generations inside heap.
In every GC cycle that JVM runs, it also does metric analysis to learn of current applications in-memory storage behavior.
- If more objects are surviving the multiple cycles of GC, then PermGen is reduced and some of the space is allocated to YoungGeneration. Basically No. of objects x number of GC cycles they skip plays a criteria in dynamically adjusting the generation ratio.
I hope it helps, thanks.