I don't believe one can take defaulte zOS Java settings as representative of
those for your zOS Unix environment.  Here's a snip from the zOS Java site
(and I'm sure this varies by JVM):

Aaron

Java™ 2 and LE runtime options

These are described in the LE Programming Reference manual. The java
executables (java, javac, javah, etc.) are built with a standard set of
runtime options using #pragma statements, as follows:

    * STACK(48K,16K,ANYWHERE,KEEP)
    * STORAGE(NONE,NONE,NONE,1K)
    * LIBSTACK(1K,1K,FREE)
    * HEAP(8M,2M,ANYWHERE,KEEP)
    * ALL31(ON)
    * ANYHEAP(2M,512K,ANYWHERE,KEEP)
    * BELOWHEAP(8K,2K,KEEP)

These values are carefully tailored to minimize stack usage while at the
same time maximizing the number of threads that can be created.

The STACK option defines the initial stack segment size (48K) and increment
size (16K) if a segment overflows. ANYWHERE is a *must* as otherwise it will
be allocated BELOW the 16M line.

The first other suboptions of STORAGE should not be set to a value other
than NONE as this may affect performance. The final suboption specifies the
size of the emergency stack in case of LE being unable to extend the stack
any further. The emergency stack is allocated *per thread* BELOW the 16M
line, so it should be kept to a minimum - if LE is unable to extend the
stack, your chances of recovery are slim.

LIBSTACK storage is always BELOW the 16M line, so keep it as small as possible.

HEAP is problematic, as it depends very much on the application load.
HelloWorld needs much less heap space than a WAS system with dozens of
threads. The initial heap size (8M) should be at least as large as the sum
of the -mx and -oss options, plus it will also be used for malloc'ed storage
for internal control blocks and JITted code. A large enough initial size
avoids the overhead of LE stack expansion.

Any and all of these runtime options can be overridden using the
_CEE_RUNOPTS environment variable. Also, note that the values above apply to
IBM-supplied executables, *not* DLLs. This means that, if you write your own
launcher to start up the JVM using JNI_CreateJavaVM(), you will not pick up
these values. You need to build in the values with #pragma statements, or
make sure that reasonable values are set via the envvar.

You can use the runtime option RPTSTG(ON) to produce a storage report that
will enable you to judge your requirements better.

On Wed, 18 Oct 2006 12:03:09 -0500, Chase, John <[EMAIL PROTECTED]> wrote:


>
>That's what I thought, but in addressing a performance issue with a
>vendor product here that runs in z/OS UNIX (Java, to be precise), their
>support person had me run the Java Helloworld application with
>_CEE_RUNOPTS('rptopts(on) rptstg(on)').  The results had some
>differences from both our "Non-CICS" and "CICS" LE installation defaults
>(in particular, the UNIX environment has POSIX(ON) and XPLINK(ON) while
>both "known" installation default members have them (OFF)).

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to