Free space calculation of heap

Damon Hart-Davis dhd at exnet.com
Sat Jun 2 00:10:56 PDT 2012


Some of us running 'embedded' might still quite like it, eg as space for an extra thread's stack!  B^>

Rgds

Damon


On 2 Jun 2012, at 02:44, Srinivas Ramakrishna wrote:

> 
> 
> 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 
> 
> _______________________________________________
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use



More information about the hotspot-gc-use mailing list