Free space calculation of heap
Srinivas Ramakrishna
ysr1729 at gmail.com
Fri Jun 1 18:44:08 PDT 2012
On Fri, Jun 1, 2012 at 12:10 PM, Srinivas Ramakrishna <ysr1729 at gmail.com>wrote:
> ...
>
> Free in BTD: 546527717
> Free in IFL: 1221215
> -----------------
> Total Free: 547748932 heap words = (547748932 * 8 /1024) KB = 4279289
> KB
>
> As reported in PrintHeapAtGC: total 4476928K, used 197511K
> From above line, computed free space = (4476928 - 197511) KB = 4279417 KB
>
> "Lost" free space = (4279417 - 4279289) KB = 128 KB
>
> OK, given that i arrived at the number you reported as missing, I guess I
> understood yr question correctly.
>
> This is interesting. It's been a great while since I looked at this code,
> but I know that CMS uses
> part of the old gen space to store certain book-keeping structures
> associated
> with promotion ("promo info" and certain header word "spooling buffers")
> in the old gen heap. It allocates these
> buffers out of the old gen eagerly and doesn't return them unless we
> completely run out of space. (This policy
> should probably be revised, so it lazily returns free buffers.) However,
> it was my understanding that these
> buffers are reported as part of the used space. May be the book-keeping
> for space used doesn't take these
> into account, in which case I am surprised. Probably worth poking around
> in the code to see what's going on.
> I'll try and do that if I get some time, unless someone from the JVM team
> gets to it sooner, especially
> those who may have poked around in that code recently may be...
>
>
An offline exchange with Jon and a quick browse of the code revealed that
the space was in a linear allocation
block that sits in the old gen. Not quite sure if or when it's used for
allocation. Quite possibly a vestige from earlier
experiments that may not have gotten deleted. So may be the result of this
discussion is a new bonus of 128 KB
in the old gen, if we can somehow neutralize the lab refilling.Given that
it's hump change for usually large
CMS sizes, probably not worth the effort.
-- ramki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20120601/646d188d/attachment.html
More information about the hotspot-gc-use
mailing list