JDK-6294930 : GC memory overhead is too big
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: x86
  • Submitted: 2005-07-08
  • Updated: 2010-04-02
  • Resolved: 2005-07-11
Related Reports
Relates :  
Description
Expected overhead for maintaing java object in heap is 8 byte, but this test shows that the real overhead is much bigger. Also it sometimes produce unhandled OOM (separate CR).
runtime options:
java -XX:+<gctype> -Xmx768m gctest.Main
###@###.### 2005-07-08 11:38:21 GMT

Comments
EVALUATION The test program creates many objects each of size 3 HeapWords. On the 32-bit JVM, for various reasons that I will not go into here, we use double word alignment, so we effectively lose 1 HeapWord per 3 HeapWords used, which translates into the nearly 25% overhead observed by the submitter. Indeed when you run the same program on a 64-bit JVM, you get the expected overhead of 2 heap words Where each heap word in now 64 bits big). Since there are no current plans to relax the double word alignment on the 32-bit platform, I am closing this as "will not fix". Alternatively, the submitter can change their test to use objects with 2 fields, thus doing away with the space lost to object alignment, and get closer to the expected overhead. ###@###.### 2005-07-11 19:22:08 GMT
11-07-2005