This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
Control-M for z/OS
Control-M for z/OS
Control-M for z/OS 9.0.18 and above
The Control-M for z/OS 9.0.18 and above utility CTMHCOP fails with Abend SDC2
Since 9.0.18, Control-M for z/OS uses above 2G Bar memory every time when it needs to keep the AJF or HST file in memory. This enables Control-M for z/OS to support AJF / HST files of 10 million records.
The memory above 2G Bar is limited not only by Region but also by MEMLIMIT parameter (JCL parameter in JOB or EXEC statement) in SMFPRMxx member of SYS1 PARMLIB.
Control-M for z/OS Utilities to copy HST / AJF (CTMHCOP, CTMCAJF) keep both source and target files images in memory. For an AJF size of 25,000 records and a HST size of 50,000 records. Each record in AJF / HST is 1K (1024 bytes). So CTMHCOP needs memory enough for two HST images - 50,000 records * 2 * 1K = 100M. I.e. CTMHCOP needs 100M memory, and since 9.0.18 it takes this memory above 2G Bar.
The ABEND SDC2 Reason Code xx0016yy means 'Memory limit exceeded'. And it matches the output of the utility failed. In DAPRENV output you will find the section with a title VIRTUAL STORAGE USAGE. It shows the limits of different types of storage and the sources of these limits. In the output of the utility failed we have:
A b o v e 2 GB
Address Space Memory : 64.0 MB
MEMLIMIT Source : SMF
I.e. the limit is 64M (less than 100M required if HST size is 50,000 records). This limit is set in SMF parameters – the parameter MEMLIMIT in SMFPRMxx member of SYS1 PARMLIB. SETSMF or SET SMF commands may change the MEMLIMIT dynamically and D SMF,O displays the current MEMLIMIT.
To resolve this problem you should increase the MEMLIMIT parameter in SMFPRMxx in SYS1.PARMLIB.