Java 64 bit consumes excessive native memory (c-heap) due to JIT Compilation

Andrew Haley aph at redhat.com
Thu Aug 23 11:01:00 PDT 2012


On 08/23/2012 06:32 PM, Ashish Saxena wrote:
> These 64 MB blocks are committed and marked dirty and actually using
> the RAM.. Hence the conern.

Interesting.  Out of interest, how exactly do you know that?

> As Andrew pointed, may be it is due to
> some c-heap allocation specific to 64 bit systems.... but under what
> circumstances do these blocks get allocated ? Which JVM Component /
> Subcomponent is responsible for these extra memory blocks ?
> 
> Based on test and JVM options I mentioned above, it seems that these
> gets allocated whenever JVM gets into JIT mode for the first time (may
> be, may be not) ... but which JVM sub component is responsible for
> this memory overhead ?

At this point, I'd just use GDB to break when the blocks are allocated.
Assuming this is Linux...

Andrew.



More information about the hotspot-compiler-dev mailing list