JDK-6314461 : from-space does not relinquish space at full collections.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 1.4.2,1.4.2_04
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic,solaris_9
  • CPU: generic,sparc
  • Submitted: 2005-08-23
  • Updated: 2012-04-13
  • Resolved: 2012-04-13
Related Reports
Duplicate :  
Relates :  
Description
This is the problem (known to exist in 1.4.2) of most of the space
in the young generation being shifted back and forth between
eden and from-space AND only full collections happening after
one of the young generation collections where most of
the space has been shifted to from-space.  In a young generation
collection eden, from-space and to-space are resized.
When the next young generation collection is done,
the space would be shifted back to
eden.  In a full collection eden and the
survivor spaces are not resized so the
space is left in from-space.

Comments
EVALUATION We won't have resources to work on this as it isn't an issue on later versions
13-04-2012

EVALUATION The description correctly describes this behavior. There is a workaround for 1.4.2 and the problem does not exist in 5.0.
23-08-2005

WORK AROUND The flag -XX:+ScavengeBeforeFullGC, may fix this problem. This option will cause the collector to attempt a young generation collection before it does a full collection. It is not guaranteed to fix the problem because the state of the heap could be such that the young generation collection fails to complete. If it fails to complete the spaces in the young generation will not be resized. A solution that has worked in the past is to turn off the adaptive size policy (-XX:-UseAdaptiveSizePolicy). This may require that you do more work to explicitly size the generations and spaces in the young generation. The document at http://java.sun.com/docs/hotspot/gc1.4.2/ should be helpful. Finally, this problem does not exist in 5.0 so you could try it. 5.0 also has a different implemenation for UseAdaptiveSizePolicy which is described in http://java.sun.com/docs/hotspot/gc5.0/ergo5.html
23-08-2005