Two years back we had an issue where the throughput of a database utility dropped considerably (job had to be cancelled because it was too slow) because it decided to not use more memory to do it's processing. This was found to be because the page datasets were more than 50% utilized. The notes below are from my analysis of the problem at the time.
Some software will believe that the system is storage constrained if the page datasets are at or near 50% full. The software affected use the SYSEVENT STGTEST macro to determine how much storage it can use without affecting system paging performance. The returned values are used to set maximum sizes for such things as memory work areas. If these are small then the programs will be inefficient and use significantly more cpu and do more IOs. This should be considered when determining page dataset size. SYSEVENT STGTST behaviour from Authorized assembler Services reference manual: After SRM returns, each word contains a storage amount that represents a specific number of frames. Before you choose a number to use as the basis for decision, be aware of how your decision affects the performance of the system. The meaning of the returned values is: Use of the first number will affect system performance very little, if at all. Use of the second number might affect system performance to some degree. Use of the third number might substantially affect system performance. If you base decisions on the value in the second or third word, SRM may have to take processor storage away from other programs and replace it with auxiliary storage. If you are running your system in workload management goal mode, the value returned in the third word will always be the same as the value returned in the second word. APAR OA20116 has a note throws some light on how the second word returned from SYSEVENT STGTST is calculated: Problem conclusion The logic in IRAEVREQ was changed in a way, that the maximum of the return value 1 and return value 2 is used as return value 2 and return value 3. Additionally the logic in IRAEVREQ ensures that the value returned in words 2 and 3 do not drive the system into an auxiliary storage shortage. The value returned in words 2 and 3 will only fill the AUX subsystem up to 50%. Examples: If the AUX subsystem is filled by 25% and the return value 1 contains 1000 frames. Then the return value 2 and 3 are set to 1000 frames + 25% of the AUX slots. Walter Medenbach ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN