The SYS1.PARMLIB(BPXPRMxx) parameters

If you use certain CICS functions and run many CICS systems in an LPAR, the default options, shipped in the BPXPRMxx members of SYS1.PARMLIB, might not be sufficient.

You must review the default options for the following functions:
  • C and C++ programs compiled using the XPLINK compiler option
  • Programs that run on open TCBs and use APIs other than the CICS® API
  • SSL TCBs specified by the MAXSSLTCBS system initialization parameters
  • Java programs running in JVM servers

If you use XPLINK or non-CICS APIs, you must increase the MAXPROCUSER and MAXPROCSYS values. See Sizing MAXPROCSYS for guidance.

If CICS is configured to use SSL, you might have to increase the MAXTHREADS and MAXTHREADTASKS values.

If CICS is configured to use JVM servers, you might have to increase the total THREADLIMIT value in each JVMSERVER.

If your system uses two or more of these facilities, corresponding further increases in the values for these parameters is appropriate.

Sizing MAXPROCSYS

The z/OS MAXPROCSYS parameter specifies the maximum number of processes that can be active at the same time in the LPAR. MAXPROCSYS allows you to manage system resources by limiting the number of processes that the system is to support. If you set the MAXPROCSYS value too low, regions might abend because CICS cannot create a process when attempting to attach a TCB. However, avoid setting the MAXPROCSYS value too high because this value is shared between all the address spaces in a z/OS system.

CICS uses at least two processes for each CICS region. If you have many CICS regions, you must set your system limit to handle these processes. The following table explains which TCBs become processes, depending on the CICS system:
Table 1. TCBs that become processes
TCB Is the TCB always a process? Description
Jobstep Yes The jobstep TCB is always created.
SO Yes The SO TCB is always created.
SL No The SL TCB is created unless the system initialization parameter, TCPIP=NO, is specified.
QR No The QR TCB becomes a process when an open TCB is attached (that is, L8, L9, X8, or X9).
SP No The SP TCB becomes a process, and the associated S8 TCBs are created and become threads only when SSL is used.
JVMSERVER (TP and T8) No Each enabled JVM server requires a single process regardless of how many threads it supports.
In summary, there is always a minimum of two processes for each CICS region, up to a maximum of six processes for each region, depending on which additional TCBs you are running.
You can issue the following command to give you a list of the processes that are running on your system:
D OMVS, A=addressspaceid
addresspaceid is the address space that you want to query.

If you run this command at system startup, and again when your system is stable, you can calculate the most appropriate number for MAXPROCSYS.

For more information about changing BPXPRMxx parameters, monitoring system limits, and calculating values for system resources, see z/OS UNIX System Services Planning.