NonStop Server for Java 7.0 Programmer's Reference

Large heap support
If a Java application requires large heap (greater than 1276 MB), 64–bit JDK must be used. After
the installation, you can run the application with heap sizes greater than 1276 MB using Xms
and Xmx command-line options. The following are the examples which invoke an application
with 24 GB of Java heap size:
Example 8 JAVA_HOME pointing to 32–bit JDK
java d64 Xms24G Xmx24G <other command-line options> <application>
Example 9 JAVA_HOME pointing to 64–bit JDK
java Xms24G Xmx24G <other command-line options> <application>
NOTE: The virtual space of a process must not exceed the size of the physical memory. If the
physical memory size is 32 GB, the maximum Java heap size is around 28 GB (2 GB for JVM
memory requirement, and 2 GB for C heap, thread stack, and 28 GB for Java heap).
Version command-line option
When java -version option is specified on 64–bit JDK, it reports that the JVM version is a
64–bit VM.
Java HotSpot(TM) 64-Bit Server VM
When java -version option is specified on 32–bit JDK, the following message is displayed.
Java HotSpot(TM) Server VM
Posting signals to GC process
You can post signals to a Java application. In NSJ7, if parallel and CMS GC is enabled, GC
processes are created to perform the garbage collection. The GC process installs signal handlers
for the synchronous signals and blocks the asynchronous signals. Hence, posting asynchronous
signals to GC process does not have any effect. When a synchronous signal occurs, the GC process
signal handler creates a error log file and terminates.
NOTE: Java process continues to process the synchronous and asynchronous signals.
Java signal handlers
A Java program installs signal handlers for the signals that the current application interacts with.
However, there is one restriction for an application when it installs handler for the signals. The
restriction is that the application cannot install handlers for the signals that are used by the Java
Virtual Machine (reserved signals). If the application attempts to install handlers for the reserved
signals, java.lang.IllegalArgumentException is thrown. There are two types of reserved
signals for which a user cannot install handlers:
1. Signals for which the user cannot install handlers always.
2. Signals for which the user can install handlers, if the application does not enable specific
command line options.
Table 9 (page 66) provides information about the reserved signals for which signal handlers cannot
be installed, and also about the reserved signals which can be installed by enabling or disabling
some options from command line.
Large heap support 65