Start of change

TCB considerations with UNIX System Services

When defining the numbers of TCBs that are allowed in a CICS® region, you need to consider the settings in UNIX System Services (USS) that control the number of processes that can run within a CICS region.

In USS, the MAXPROCUSER parameter specifies the maximum number of processes one USS UNIX user identifier (UID) can have concurrently active, regardless of how the processes were created. The value can be in the range 3 to 32767. The default is 25. The MAXPROCUSER parameter is specified in SYS1.PARMLIB member BPXPRMxx. The z/OS® MVS™ Initialization and Tuning Reference gives guidance on the setting of MAXPROCUSER.

MAXPROCUSER is independent of any particular userid. However, there is an equivalent RACF® setting to limit the number of processes by userid for a particular user. This is PROCUSERMAX. It sets the maximum number of processes per userid field of the RACF OMVS SEGMENT of a userid's profile.

The following TCBs all contribute towards the potential number of processes associated with a particular CICS region.

By adding the number of TCBs from the above list, it is possible to obtain the total number of processes that might be associated with a given CICS region. This total represents a possible upper limit for the region.

Where you have CICS systems that share the same userid, add the totals together to give the maximum number of processes associated with that userid. This is because MAXPROCUSER is the number of processes for a UID, not for each job.

When you have determined the total possible number of processes associated with each userid for your CICS regions, use the largest number and add an extra 10% to this figure when calculating the value of MAXPROCUSER.

If you have a particular userid with a high result for the total number of processes required, due to several CICS systems sharing the same userid, setting MAXPROCUSER to such a figure might not be appropriate. In this situation, use the PROCUSERMAX parameter on the OMVS segment of the RACF profile for the userid to set a suitably high value to accommodate the requirements of the userid.

The setting of the MAXPROCUSER and PROCUSERMAX parameters does not in itself consume extra resources. These are limiting values. CICS does not generate the open TCBs until they are needed, meaning that processes and system resources are not associated with TCBs until required. Note that TCBs specified in the SSLTCBS system initialization parameter are created at CICS system initialization.

The setting of the TCPIP system initialization parameter does not affect the use of open TCBs by the OTE. Also, if you specify TCPIP=NO and no OTE-managed services are used by CICS, then two of the MAXPROCUSER entries will be used in the initialization of the Sockets domain.

The implications of setting MAXPROCUSER too low

If you do not set a large enough value for MAXPROCUSER for the CICS environment, you might get a number of warning and error messages. These are described below:

Message BPXI040I
A USS warning message that alerts the operator that system resources are being consumed. The message notifies the operator when a threshold of 85% of the MAXPROCUSER value for a given UNIX Process Identifier (PID) has been reached. It is possible for the percentage to exceed 100%. This is because two special UIDs are allowed to create more processes than MAXPROCUSER would normally allow. The superuser (UID=0) can exceed many of the limits set in BPXPRMxx. Also, the default-UID can exceed the MAXPROCUSER setting. This is because many users can make use of the default-UID, and they each have independent processes. If each user were given an individual UID, then each would be subject to MAXPROCUSER independently. The default-UID refers to a RACF userid without an OMVS segment defined for it; as such, it uses the default OMVS segment. The default-UID should not to be confused with the CICS default user.
Message DFHKE0500
This message is issued by the CICS TS for z/OS Version 3.1 Kernel when MAXPROCUSER has been exceeded for the userid of the CICS system. This could occur because a number of CICS systems are sharing the same userid on USS and have a requirement to use a number of TCBs that is greater than the value defined in the MAXPROCUSER parameter.
End of change [[ Contents Previous Page | Next Page Index ]]