aspose file tools*
The moose likes Performance and the fly likes GC - Young generation promotion can't be guaranteed Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » Performance
Bookmark "GC - Young generation promotion can Watch "GC - Young generation promotion can New topic
Author

GC - Young generation promotion can't be guaranteed

peter doyle
Greenhorn

Joined: Jul 19, 2004
Posts: 3
I'm confused by the the gc output when the above occurs, can anybody
shed any light ?

---------------------------------------------------

My 1.4.2 jvm is running under heavy load, the total heap size is 512MB
of which a third is the young generation (further details at the end).

Each time a young generation collection occurs, about 1MB of objects are
tenured

This is primarily being caused by my under-sized survivor-spaces

So the tenured generation grows ~1MB with each young collection - e.g.

18028.544: [GC 18028.544: [DefNew: 168869K->3786K(169600K), 0.0385325 secs] 335389K->171925K(519168K), 0.0387439 secs]
18032.561: [GC 18032.562: [DefNew: 168266K->4137K(169600K), 0.0359486 secs] 336405K->173122K(519168K), 0.0361856 secs]
18037.958: [GC 18037.958: [DefNew: 168617K->4350K(169600K), 0.0379584 secs] 337602K->174583K(519168K), 0.0381667 secs]
18042.736: [GC 18042.737: [DefNew: 168830K->4114K(169600K), 0.0595167 secs] 339063K->175712K(519168K), 0.0597367 secs]

When the tenured generation reaches ~180MB, the young generation promotion
can no longer be guaranteed, so a tenured collection is performed.

The output from this collection is as follows

18087.806: [GC 18087.806: [DefNew: 169373K->169373K(169600K), 0.0000523 secs]18087.806: [Tenured: 180497K->126223K(349568K), 4.4554618 secs] 349871K->126223K(519168K), 4.4557827 secs]

From the above
- there is insufficient space in the tenured generation to fit
all objects in the eden-space and one survivor-space (if they were
all live) - so the young generation is shown as the same size
before and after the collection
- the tenured collection removes around 54MB of objects
- but the total post-collection space used (126223K) is the same figure
as the tenured post-collection space used, so ...

QUESTIONS : IS THE YOUNG GENERATION NOW EMPTY ?
IF SO, WHAT HAPPENED TO THE "YOUNG" OBJECTS ?
HAVE THEY ALL BEEN PROMOTED ?

Thanks,

Peter
==========================================================================

environment details
-------------------

I'm running in WebSphere AppServer Version 5.1 (java version 1.4.2_03)

The min and max heap sizes are both 512MB, and with no "new size" parameters
specified the young generation is being sized at 169600KB.

The gc params are as follows ... -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: GC - Young generation promotion can't be guaranteed