Setting process limits in z/OS UNIX
System-wide limits are defined in the BPXPRMxx parmlib member. Table 1 lists the BPXPRMxx statements that you can use to set system-wide limits. If you specify the SHRLIBMAXPAGES parameter, it is accepted but will not have any impact on the system. The value that you specify will never be reached, because user-shared library objects are no longer supported.
IPCMSGNIDS | IPCSHMMPAGES | MAXPTYS |
---|---|---|
IPCMSGQBYTES | IPCSHMNSEGS | MAXRTYS |
IPCMSGQMNUM | IPCSHMSPAGES | MAXSHAREPAGES |
IPCSEMNIDS | IPCSHMNIDS | MAXUIDS |
IPCSEMNSEMS | MAXASSIZE | SHRLIBMAXPAGES |
IPCSEMNOPS | MAXMMAPAREA | SHRLIBRGNSIZE |
Process-level limits are defined in the BPXPRMxx parmlib member. Table 2 lists the BPXPRMxx statements that
you can use to set process-level limits.
MAXASSIZE | MAXFILEPROC | MAXPROCSYS |
---|---|---|
MAXCORESIZE | MAXPIPEUSER | MAXQUEUEDSIGS |
MAXCPUTIME | MAXPROCUSER | MAXTHREADS |
MAXCPUTIME specifies the RLIMIT_CPU hard limit resource values
that processes receive when they are dubbed a process. RLIMIT_CPU
indicates the CPU time that a process is allowed to use, in seconds.
The soft limit is obtained from MVS™.
If the soft limit value from MVS is
greater than the MAXCPUTIME value, the hard limit is set to the soft
limit. This value is also used when processes are initiated by a
daemon process using an exec after setuid(). In this case, both
the RLIMIT_CPU hard and soft limit values are set to the MAXCPUTIME
value.
- For processes running in or forked from TSO or BATCH, the MAXCPUTIME value has no effect. A superuser can override this value by specifying a new time limit in the spawn inheritance structure on __spawn().
- For processes running in or forked from TSO or BATCH, the MAXCPUTIME value has no effect. The TIME limit is inherited from the parent. If a TIME parameter is specified on the JCL for the started task, then that value is used. If not, then the TIME value is taken from the JES default TIME value.
- For processes created by rlogind or another daemon, MAXCPUTIME is the time limit for the address space.
Table 3 lists the hard limits that
can be defined in the RACF user
profile.
Hard limit | Description |
---|---|
ASSIZEMAX | The maximum address space size (RLIMIT_AS) for the z/OS® UNIX user. |
CPUTIMEMAX | The maximum CPU time (RLIMIT_CPU) for the z/OS UNIX user. |
FILEPROCMAX | The maximum number of files per process for the z/OS UNIX user. |
MEMLIMIT | The maximum storage above the bar (nonshared memory size). MEMLIMIT is initially set in the SMFPRMxx parmlib member. |
![]() ![]() |
![]() ![]() |
PROCUSERMAX | The maximum number of processes per UID for the z/OS UNIX user. |
SHMEMMAX | The maximum size of shared memory |
THREADSMAX | The maximum number of threads per process for the z/OS UNIX user. |