Free space calculation of heap
Jon Masamitsu
jon.masamitsu at oracle.com
Fri Jun 1 14:02:22 PDT 2012
On 6/1/2012 12:10 PM, Srinivas Ramakrishna wrote:
> ...
>> q2: all counter of the BinaryTreeDictionary and IndexedFreeLists of perm
>> gen is zero, why?
>>
> The perm gen allocation patterns were sufficiently simple that a linearly
> allocated single slab of space
> was used instead of free lists, with the idea that the "holes" from freeing
> up of class objects in the perm
> gen would not reclaim much usable space. This is probably worth revising
> with all of the perm gen objects
> that will be constantly created and reclaimed with dynamic languages
> running atop the JVM. Jon may
> recall the details of why it was done that way. Much of this will anyway
> change under the new perm gen
> allocation regime, where the perm gen has been moved out of the "Java heap"
> into the "native heap", so
> probably not worth worrying about any more.
I recall that the perm gen used the linear allocation blocks without
adaptive free lists.
I would have thought that would still produce lists of free blocks.
CMSPermGen
does use the compactibleFreeListSpace allocate(). Part of the reason the
linear allocation block is used to keep the needed left to right
allocation order of the
klasses in the perm gen.
Jon
>
More information about the hotspot-gc-use
mailing list