See information about the latest product version
Customizing UNIX System Services on z/OS
WebSphere® Message Broker requires the setup of some UNIX System Services system parameters.
This task is part of the larger task of customizing your z/OS® environment.
You can use the SETOMVS operator command for dynamic changes or the BPXPRMxx PARMLIB member for permanent changes. See the z/OS UNIX System Services section in the z/OS V1R9.0 LibraryCenter.
Use the DISPLAY OMVS,OPTIONS command to display your current OMVS options.
Do not include the broker addresses if you use the IEFUSI exit to limit the region size of OMVS address spaces.
Set the UNIX System Services parameters that are shown in the following table.
Description | Parameter | Value |
---|---|---|
The maximum core dump file size (in bytes) that a process can create. Allow an unlimited size. | MAXCORESIZE | 2 147 483 647 |
The CPU time (in seconds) that a process is
allowed to use. Allow an unlimited CPU time. If you do not set MAXCPUTIME to the maximum value, you can set it on the TIME parameter of the broker started task JCL. For more information, see Statements and parameters for BIPXPRMxx in the MVS™ Initialization Tuning and Reference of the z/OS V1R9.0 LibraryCenter. |
MAXCPUTIME | 2 147 483 647 |
The address space region size. Set to the size of the biggest address space. | MAXASSIZE | > 1 073 741 824 A minimum value of 393 216 000 bytes is required. |
The maximum number of processes for each user. | MAXPROCUSER | Set to a number greater than all brokers and associated execution groups, as well as any queue managers and channel initiators that are running with the same user ID. |
The maximum number of file descriptors that a single process can have open concurrently. | MAXFILEPROC | The number of descriptors includes all open
files, directories, sockets, and pipes. A minimum value of 65536 is required. |
Specifies the maximum number of threads that a single process can have active. Depends on the definitions of message flows. | MAXTHREADS MAXTHREADTASKS | The value of MAXTHREADS and MAXTHREADTASKS
depends on your application. To calculate the value that is needed
for each message flow:
|
Deploying a message flow that starts an execution group in a new address space uses z/OS UNIX System Services Semaphore and SharedMemorySegment resources. Each new address space uses a semaphore and SharedMemorySegment. The SharedMemorySegment is deleted immediately after the new address space starts, but the semaphore remains for the life of the new address space.
- IPCSEMNIDS
- IPCSHMNIDS
- IPCSHMNSEGS
You must set IPCSEMNIDS to a value four times the number of potential execution group address spaces on a system.
You must have one SharedMemorySegment for each execution group address space that is started. You must set IPCSEMNIDS to a value that exceeds the number of potential execution group address spaces on a system.
A control address space (BIPSERVICE and BIPBROKER processes) can be attached to many SharedMemorySegments - potentially, one for each execution group address space started for that broker. You must set IPCSHMNSEGS to a value that exceeds the potential number of execution groups for each broker.
Ensuring sufficient space for temporary files
The environment variable TMPDIR is the path name of the directory that is used for temporary files. If it is not set, the z/OS shell uses /tmp.
When WebSphere Message Broker components start , sufficient space is required in the directory that is referenced by TMPDIR. In particular, Java™ requires sufficient space to hold all JAR files that are required by WebSphere Message Broker.
If you do not allocate sufficient space, the execution group address spaces abend with a 2C1 code.
Allow at least 50 MB of space in this directory for WebSphere Message Broker components. More space might be needed if you deploy large user-defined nodes or other JAR files to the broker component.
Defining WebSphere Message Broker files as shared-library programs
The shared library region is a z/OS feature that enables address spaces to share dynamic link library (DLL) files. This feature enables brokers to share DLLs, rather than each broker having to load the DLLs individually. The shared DLLs can be broker DLLs, or DLLs from other products such as Java. The amount of real storage that is used by MVS, and the time it takes for each broker to start, can thus be greatly reduced.
/usr/lpp/mqsi/bin/*
/usr/lpp/mqsi/lil/*
/usr/lpp/mqsi/lib/*
/usr/lpp/mqsi/lib/wbimb/*
extattr +l /usr/lpp/mqsi/bin/*
-rwxr-x--- a-l- 1 USER GROUP 139264 Mar 15 10:05 bipimain
where l (lowercase L, as in a-l-)
shows that the program is enabled to run in a shared address space.For more information, see the z/OS V1R9.0 LibraryCenter .
The storage that is reserved for the shared library region is allocated in each broker address space when the first address space is started. The amount of storage that is allocated is controlled by the SHRLIBRGNSIZE parameter in z/OS, which is in the BPXPRMxx member of SYS1.PARMLIB. You can tune the amount of storage that is allocated for the shared library region. Investigate how much space you need, bearing in mind that other applications besides WebSphere Message Broker might be using the shared library region. Then, adjust the SHRLIBRGNSIZE parameter accordingly.
DISPLAY OMVS,LIMITS
If there is unused space in the shared library region, modify SHRLIBRGNSIZE to reduce the amount of storage that is allocated for the shared library region.
Storage is carved out of the high end of private storage of each address space that loads a system shared library object. The amount of storage that is allocated from each of these address spaces is based on the value of the SHRLIBRGNSIZE parameter in the BPXPRMxx PARMLIB member. If this value is too high, the storage that set aside for mapping the shared library region might interfere with the private storage requirements of individual address spaces. Therefore, specify the minimum size that is required to contain all of the shared library programs that are to be used on the system.
Use the SETOMVS operator command to change SHRLIBRGNSIZE dynamically, or the BPXPRMxx PARMLIB member for permanent changes. See the z/OS UNIX System Services section in the z/OS V1R9.0 LibraryCenter.