How To
Summary
Use SMEM_SIZE and MAXIMUM_ALLOCATION to modify memory allocation for your system requirements and specifically to set limits on the amount of memory IBM Security Guardium S-TAP for Db2 on z/OS (S-TAP for Db2) allocates on the system.
Environment
Steps
S-TAP for Db2 allocates and accesses shared memory resources. Specifically, S-TAP for Db2 uses an internal memory manager that partitions the single original allocated shared memory object into spaces and allocates memory objects from these spaces. The internal memory manager simplifies allocation and management of memory resources and provides a layer of protection for the z/OS system by limiting the amount of memory S-TAP for Db2 can allocate.
The SMEM_SIZE parameter determines the maximum size of the shared memory object allocated to the S-TAP task. The allocated memory object is assigned to both the S-TAP task and the MASTER address spaces. The memory within the object is not actually allocated until the memory locations are accessed.
The MAXIMUM_ALLOCATIONS parameter specifies the maximum amount of global shared memory allocated for spaces within the S-TAP memory object. Global shared memory refers to the combined allocations of all memory spaces managed by S-TAP's internal memory manager.
Memory considerations
When you start or stop the S-TAP for Db2 started task, memory objects owned by the S-TAP for Db2 started task are freed and the memory objects owned by the master address space are retained. The retained memory objects are not freed until the master address space is shut down. For this reason, you do not need to periodically stop the master address space to free memory as that memory is re-allocated as soon as the master is restarted.
S-TAP for Db2 requires real storage space to back up its memory requirements. For every instance of S-TAP running on an LPAR, you need to increase the combined total amount of real memory and auxiliary storage to be equal to or more than the value of SMEM_SIZE.
Understanding values
The value of the SMEM_SIZE parameter must be equal to or greater than four times the value of MAXIMUM_ALLOCATIONS.
The default value for MAXIMUM_ALLOCATIONS is 2048 megabytes and the default value for SMEM_SIZE is 16 gigabytes. Default values have been determined through internal testing and user feedback.
If you do not set the value of SMEM_SIZE to at least four times greater than the value of MAXIMUM_ALLOCATIONS, S-TAP for Db2 automatically sets the value of SMEM_SIZE to four times greater than MAXIMUM_ALLOCATIONS.
You may need to adjust SMEM_SIZE and MAXIMUM_ALLOCATIONS if ADHQ12* messages appear in the S-TAP started task output.
ADHQ12* messages indicate that the memory within an object space allocated within the shared memory object is exhausted and the internal memory manager is unable to allocate an object from the object space.
Examples of ADHQ12* messages include:
10.43.33 STC34988 ADHQ1217W REQUEST WOULD HAVE EXCEEDED MAXIMUM ALLOCATIONS VALUE. SPACE - N/A
10.43.33 STC34988 ADHQ1203I ASID=0101,TCB=11D6AED1,CPID=00000328_0141A000,MODULE=ADHMALOX,ADDR=11D6AEEA,RC=0008,RSN=004C
10.43.33 STC34988 ADHQ1204I FUNC=G,SP=00,FLG2=30,FLG3=00
10.43.33 STC34988 ADHQ1217W REQUEST WOULD HAVE EXCEEDED MAXIMUM ALLOCATIONS VALUE. SPACE - N/A
You can resolve ADHQ12* messages by:
- Modifying the active policy to decrease the amount of activity audited by S-TAP for Db2.
- Increasing values for the SMEM_SIZE and MAXIMUM_ALLOCATIONS parameters.
To address problems indicated by ADHQ12* messages, you can modify values for the SMEM_SIZE and MAXIMUM_ALLOCATIONS parameters. Because environments vary, you may need to test and optimize values for your environment. When changing values, note that SMEM_SIZE and MAXIMUM_ALLOCATIONS parameter values are measured differently - gigabytes and megabytes, respectively - that your calculation must account for.
To resolve ADHQ12* messages, we recommend that you increase:
- MAXIMUM_ALLOCATIONS values by increments of 2048 megabytes. For example, increase MAXIMUM_ALLOCATIONS from 2048 to 4096 megabytes.
- SMEM_SIZE value by increments of 8 gigabytes. For example, SMEM_SIZE from 16 gigabytes to 20 gigabytes.
If you want S-TAP for Db2 operating on the same LPAR configured with Db2 Query Monitor for z/OS using the same MASTER, the SMEM_SIZE and MAXIMUM_ALLOCATION parameter values do not have to match the Query Monitor parameter values.
Additional Information
Document Location
Worldwide
Was this topic helpful?
Document Information
Modified date:
20 April 2022
UID
ibm16495885