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