NonStop Server for Java 6.0 Programmer's Reference

..
..
ThreadDumpPath Support
The execution stack trace of all Java threads in a NonStop Java 6.0 process can be dumped by
sending a SIGQUIT signal to the Java process, using the following OSS command:
$ kill -QUIT <pid>
By default, the thread stack dump is written in text format on stdout. NSJ 6.0 SPR- T2766H60^ABX
introduces the ability to redirect this output to a user-defined file using the following Java command
line option:
-XX:ThreadDumpPath=<path/filename>
Dynamic Saveabend File Creation
The Dynamic Saveabend File Creation feature helps to create a saveabend file of a running Java
process, without abending (aborting) the Java process, by issuing a signal to the process. This
feature allows the Java process to continue execution even after the abend file is created. The time
taken to create the abend file, that is, the application pause time is low (measurable in milliseconds).
The saveabend file enables you to analyze any observed Java runtime problems, such as observed
high memory consumption, low responsiveness, without impacting the running Java process.
To create a saveabend file in the working directory of the process, complete the following steps:
1. Export DUMP_CORE=1.
2. Start the Java application.
3. Press Ctrl-break while the process is running.
Creating Child Process Using the -Dnsk.java.fastExec=true Option
For applications that use the Runtime.exec method to create a child process, NonStop Java
6.0 version T2766H60^ABP and later provides a faster method to create a child process using
the -Dnsk.java.fastExec=true option. The Runtime.exec method forks a child process
and overlays its image with the new executable. Forking the child process duplicates the parent
process image, which is discarded when the exec is executed. The -Dnsk.java.fastExec=true
option builds the child process image from the executable. It does not inherit the parent process
image, thereby reducing the time required to create a child process.
Preemptive User Threads On NonStop Server For Java
The preemptive user threads feature enables you to specify the time slice for threads and thus helps
in thread scheduling on the NSK systems. A thread will run for the specified time slice, after which
another thread will get dispatched from the ready queue. This helps in yielding a thread which
consumes large processor time and allowing the other ready threads to run.
To enable preemptive user threads, use the -XX:ThreadTimeSlice[=T] option.
Syntax:
-XX:ThreadTimeSlice[=T]
where,
T specifies the time in milliseconds.
52 Implementation Specifics