IBM® Integration Bus 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 |
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 integration servers, 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:
|
| Specifies the maximum number of data space pages that can be allocated for memory mapping of z/OS UNIX files. This space is used by the Integration registry. | MAXMMAPAREA | Each integration node (broker) on the image requires 55000 pages. If you have a large number of policies or service definitions, you might need to increase this value. MAXSHAREPAGES controls the maximum number of shared pages to be used for fork, shared memory, memory map files, and ptrace so you might need to adjust this value to accommodate adjustments to MAXMMAPAREA. |
Deploying a message flow that starts an integration server 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.
You must set IPCSEMNIDS to a value four times the number of potential integration server address spaces on a system.
You must have one SharedMemorySegment for each integration server address space that is started. You must set IPCSEMNIDS to a value that exceeds the number of potential integration server address spaces on a system.
A control address space (BIPSERVICE and BIPBROKER processes) can be attached to many SharedMemorySegments - potentially, one for each integration server address space started for that broker. You must set IPCSHMNSEGS to a value that exceeds the potential number of integration servers 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 IBM Integration Bus 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 IBM Integration Bus.
If you do not allocate sufficient space, the integration server address spaces abend with a 2C1 code.
Allow at least 50 MB of space in this directory for IBM Integration Bus components. More space might be needed if you deploy large user-defined nodes or other JAR files to the broker component.
Defining IBM Integration Bus 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 IBM Integration Bus 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.