NonStop Server for Java Programmer's Reference (NSJ 4.2+)

JVM Tuning Tools
PrintGCStats is a tool for mining verbose:gc logs that can aid analyzing and tuning garbage collection. You can
download this tool from the following location:
http://java.sun.com/developer/technicalArticles/Programming/turbo/PrintGCStats.zip
Additionally, for a discussion of profiling tools, see the Application Profiling section.
Tuning Application Performance
The topics are
Memory Considerations: Moving QIO to KSEG2
Determining the Heap Manager
Determining the Heap Setting
Related Tuning Guides
Memory Considerations: Moving QIO to KSEG2
Java server-side applications are typically configured with large Java heap sizes, in excess of 128 MB. In addition,
the JVM and its native components (for example, NonStop Servlets for JavaServer Pages (NSJSP) transport
library, JDBC Driver for SQL/MP, JDBC Driver for SQL/MX, SQL/MX call-level interface, and potentially any
custom-user JNI code) allocate memory for their own use. Thus, the overall heap space required by a JVM process
can be considerably higher than the configured Java heap space.
When a process uses the parallel TCP/IP transport provider for socket operations (like the iTP Secure WebServer
httpd daemon Server process instance), the process becomes a QIO client. For NonStop" Server QIO
shared-memory segments, when a QIO client process makes a socket request, a portion of the process address
space is reserved for the QIO segment. This reserved space limits the maximum useable heap size for the JVM
process.
The size of the QIO segment is determined by the configured physical memory for a processor (CPU) on the
NonStop system. For a processor on a NonStop system configured with 4 GB of physical memory, 512 MB are
used for the QIO segment. In addition, 512 MB of the user address space are reserved for the QIO segment, if the
process is also a QIO client.
To overcome the problem of losing address space to QIO, you can configure the QIO segment so that the segment
is moved to a special region of the privileged address space, called the KSEG2 region. Moving the QIO segment to
the KSEG2 region means that the maximum size of the QIO segment is restricted to 128 MB (instead of the default
512 MB). Before moving QIO to KSEG2, check that the current maximum QIO segment size in use is within the
128 MB limit (allowing for future requirements that may increase the QIO segment size). If the maximum QIO
segment size is within the limit, you can move QIO to KSEG2.
Example: Determining the QIO Segment Size in Use
To determine the QIO segment size in use, use the following SCF command from the TACL prompt:
TACL> scf
SCF - T9082G02 - (30APR03) (01APR03) - 03/19/2004 02:20:31 System \NAVAE1
(C) 1986 Tandem (C) 2003 Hewlett Packard Development Company, L.P.
(Invoking \NAVAE1.$DATA11.RAMR.SCFCSTM)