NonStop Server for Java 7.0 Programmer's Reference
In the sample command invocation, the first JVM segment (segment ID 1069) size is 64 MB. Then
the remaining 192 MB memory is divided (calculated dynamically) among the next five segments
whose segment ID range is 1070–1074.
JVM data segment for 64–bit JDK7
64–bit NSJ7 JDK/JRE allocates one extensible flat segment for its internal dynamic memory
requirement. The initial size of this segment is 512 MB, and the maximum size is 12 GB. This
segment is referred as JVM data segment.
When the allocated portion of the segment is filled, and if the allocated size of the segment has
not reached the maximum value of 12 GB, then the segment is resized by increasing its size by
multiples of 512 MB. To avoid segment resize during the application runtime NSJ7 SPR
T2866H70^ACJ provides an option InitialJVMHeapSize, that can be used to specify the
maximum JVM heap size required by the application. If this option is specified during JVM
initialization, the JVM heap segment is resized with the value specified and it avoids the resize of
the JVM heap segment later when the application runs. It must be noted that the value specified
with the command line option is a suggestive value. If the application needs more virtual memory,
the segment can be resized until it reaches 12 GB. The syntax for this option is as follows:
–XX:InitialJVMHeapSize=<size>
where, size can vary from 512 MB to 12 GB.
Default value of InitialJVMHeapSize is 512 MB.
Sample Invocation:
java –d64 XX:InitialJVMHeapSize=4G <className>
In the sample command invocation, during JVM initialization, the JVM Heap segment is resized
to 4 GB.
NOTE: Minimum size of the JVM heap segment cannot be less than 512 MB.
Java heap size with 32–bit JDK7
As a result of the JVM data segment(s) allocation as described in “JVM data segment for 32–bit
JDK7” (page 56), maximum Java heap available for a 32–bit Java application is 1276 MB.
With earlier versions of NSJ7, the maximum Java heap that can be allocated is 1084 MB.
Java heap size with 64–bit JDK7
The default initial and maximum Java heap size for 64–bit NSJ7 is 1 GB. The theoretical maximum
value of Java heap that can be specified is 484 GB. However, the actual maximum Java heap
size is limited by the available Kernel-managed swap space.
Native heap size with 32–bit JDK7
As a result of the JVM data segment(s) allocation, the size of the native heap available for JNI
components is lesser by the sum of the sizes of the JVM data segments and size of Java heap.
Native heap size with 64–bit JDK7
The native heap size is limited to 12 GB. Java does not have command-line option to modify the
value of the native heap size. If application requires more than 12 GB native heap size, then it
can be modified by using the eld -change heap_max option on Java launcher program.
Java garbage collector tuning for application performance
NSJ7 incorporates the HotSpot VM. This section discusses the options available for tuning the JVM,
suggests flags and values to tune the Java HotSpot VM, and points to the HotSpot tuning information
Java garbage collector tuning for application performance 57










