NonStop Server for Java 6.0 Programmer's Reference

Layout for Generations
The generations are:
Young (also called new) generation—The JVM allocates objects in the young generation pool.
Minor garbage collection happens when this young generation is full and the JVM is unable
to allocate new objects. The young generation also includes two survivor spaces. One survivor
space is empty at any time and serves as a destination of the next GC operation, which copies
the collection of any live objects in Eden and the other survivor space. Objects are copied
between survivor spaces in this way until they are old enough to be tenured—copied to the
tenured generation.
Tenured (also called old) generation—The JVM moves objects that survived minor garbage
collections from the young generation to the old generation.
Permanent generation—Class objects and metadata objects are allocated in permanent
generation.
The young and tenured generations each have an area called "Reserved," which is allocated at
initialization and used when garbage collection does not have free sufficient space to satisfy the
allocation request. In a Sun Microsystems implementation, the address range for this area is reserved
but memory space is not allocated until it is used.
Managing Generation Size
Several java command options allow you to manage the initial size and maximum size of the
combined young and tenured generations.
-Xms
Sets the initial size for the combined young and tenured generation. The default
initial size is 3058 kilobytes (K). Smaller values lead to shorter but more frequent
garbage collections, larger values lead to longer but less frequent garbage
collections. For large server applications, HP recommends that the initial size be
equal to the maximum size.
-Xmx
Sets the maximum size for the combined young and tenured generation. The default
maximum size is 64 megabytes (MB).
-XX:MaxPermSize
60 Implementation Specifics