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

Andrew Haley aph at redhat.com
Wed Aug 22 09:33:16 PDT 2012


On 08/22/2012 05:26 PM, Ashish Saxena wrote:
> I doubt if this is thread local memory area, for this disappears when
> moving to interpreted mode(-Xint) or static compilation mode (-Xcomp).
> Moreover, this occurs when JIT Compiler tries to do optimizations
> related to inlining. On disabling the inling optimizations using
> -XX:-Inline   the 64 MB blocks disappears.

Point taken.  I would expect to see those 64M blocks on 64-bit systems,
and I would expect to see about ten of them, but it's unconnected with
JIT compilation.

> Moreover, why would thread local area be so large ... 64 MB when
> thread stack size is usually 1 MB. Any thoughts ?

That's because address space is almost free on 64-bit systems: the C
heap might as well allocate a block of address space to make malloc()
extra fast.

Andrew.



More information about the hotspot-compiler-dev mailing list