Question & Answer
Question
The Communications Server component uses (E)CSA storage for multiple purposes associated with network communication and the applications that use them. It is possible for a system to experience multiple failures to allocate common storage during periods of high TCP/IP or VTAM usage. This can include system 804-08, 80A-08, 878-08, and C78-04 ABENDs, as well as other ABENDs or messages from components making conditional storage requests (S4C5-xxxx2506, IVT5506I, EZZ4362I, EDC8122I, the ENOBUFS errno on socket calls, and FFST probe point IVTSMC05 are some examples).
Cause
The allocation of CSA space (specified in PARMLIB member IEASYSxx, CSA statement) must be large enough to handle the usage from all system components at peak workload. This needs to be at least the size specified for CSM usage (PARMLIB member IVTPRM00, ECSA MAX value), VTAM (Start Options CSALIMIT and CSA24), TCPIP (GLOBALCONFIG ECSALIMIT statement in the TCPIP PROFILE), plus all other users.
Answer
- Use a system monitoring tool (such as RMF or OMEGAMON) to track ECSA usage in the system.
- Collect regular reports of CSM usage of ECSA using the
DISPLAY NET,CSM
command. Especially note the values at the end of the report (message lines IVT5539I and IVT5541I). - Collect regular reports of TCPIP usage of ECSA using the
DISPLAY TCPIP,stackname,STOR
command. If using TN3270 servers (z/OS 1.9 and above, or as stand-alone on earlier releases) or multiple TCP/IP stacks, this needs to be issued against each one. See the TCP/IP Storage Report section (below) for examples from different releases. - Collect regular reports of VTAM usage of ECSA using the
DISPLAY NET,BFRUSE,BUFFER=SUMMARY
command. - Note the allocations used during peak periods. Calculate the amount of ECSA used for other components by subtracting the CSM, VTAM, and TCPIP amounts from the recorded total ECSA for the same time frame.
- Update the IEASYSxx specification of ECSA size and 64-bit common to accommodate the allocations if all of these uses were to have a peak at the same time (plus a growth factor).
- Specify reasonable limits for CSM, VTAM, and TCPIP ECSA usage based on the above analysis. If some unanticipated event were to cause either one of these to limit communication processing, that would be preferable to having them exhaust ECSA (potentially causing a full system outage).
- Also note the CSM Fixed storage usage and TCP/IP private Pool storage usage values as well, and adjust their limits as needed.
- Start the Traffic Regulation Management Daemon (TRMD), even if the system does not have any TCP/IP policies defined. This will report instances of TCP and UDP queues not being processed by their applications.
- Regularly evaluate these figures, especially after system upgrades or workload increases.
- Apply the following PTFs for a reduction of CSM usage on typical systems (and especially for systems using VPN protocols):
DISPLAY NET,CSM
IVT5508I DISPLAY ACCEPTED
IVT5529I PROCESSING DISPLAY CSM COMMAND - OWNERID NOT SPECIFIED
....
IVT5532I ------------------------------------------------------
IVT5536I TOTAL ALL SOURCES 156K 2572K 2728K
IVT5538I FIXED MAXIMUM = 120M FIXED CURRENT = 2361K
IVT5541I FIXED MAXIMUM USED = 2553K SINCE LAST DISPLAY CSM
IVT5594I FIXED MAXIMUM USED = 2553K SINCE IPL
IVT5539I ECSA MAXIMUM = 120M ECSA CURRENT = 1233K
IVT5541I ECSA MAXIMUM USED = 1233K SINCE LAST DISPLAY CSM
IVT5594I ECSA MAXIMUM USED = 1233K SINCE IPL
IVT5559I CSM DATA SPACE 1 NAME: CSM64001
IVT5559I CSM DATA SPACE 2 NAME: CSM31002
IVT5599I END
On z/OS 1.10 systems (and above), a Storage Statistics section has been added to the information collected via SMF 119 TCP/IP Statistics Records (subtype 5). Collection of these records is enabled by the TCPIPSTATISTICS
keyword on the SMFCONFIG
statement in the TCPIP PROFILE.
DISPLAY NET,BFRUSE,BUFFER=SUMMARY
IST097I DISPLAY ACCEPTED
IST350I DISPLAY TYPE = BUFFER POOL DATA
IST449I CSALIMIT = 240022K, CURRENT = 2300K, MAXIMUM = 2300K
IST790I MAXIMUM CSA USED = 2362K
IST1667I SYSTEM CSA LIMIT = 266692K
IST1831I 90% OF SYSTEM CSA STORAGE REMAINING = 241844K
IST449I CSA24 LIMIT = NOLIMIT, CURRENT = 59K, MAXIMUM = 59K
IST790I MAXIMUM CSA24 USED = 61K
IST595I IRNLIMIT = NOLIMIT, CURRENT = 0K, MAXIMUM = 0K
IST981I VTAM PRIVATE: CURRENT = 1189K, MAXIMUM USED = 1211K
IST924I ----------------------------------------------------------
IST1565I CSA MODULES = 1744K
IST1565I CSA24 MODULES = 40K
IST1565I PRIVATE MODULES = 7792K
IST314I END
2.1 | 2.2 | 2.3 |
Updating:
- Changes in the IEASYSxx PARMLIB member require an IPL to take effect. The relevant specifications are:
- CSA=(csasize,ecsasize) to control CSA. The defaults used if not specified will vary depending on the sizes of other parts of common storage, see the description of the keyword for more details.
- For z/OS 1.10 and above, HVCOMMON=(size) for the 64-bit common area size. The default if not specified is 64G.
- CSM usage limits may be adjusted dynamically with the MODIFY vtamname,CSM command. Permanent changes should be made in the IVTPRM00 PARMLIB member.
- TCP/IP limits on ECSA usage can be adjusted dynamically by performing a VARY TCPIP,stackname,OBEYFILE command specifying a data set containing a GLOBALCONFIG statement with the desired ECSALIMIT (or POOLLIMIT) value. Permanent changes should be made in the TCPIP PROFILE input.
- VTAM limits on ECSA usage can be adjusted dynamically by performing a MODIFY vtamname,CSALIMIT command. Permanent changes should be made in the VTAM start options.
TCP/IP Storage Reports:
- For z/OS 1.10 and earlier, these displays will have the following.
EZZ8453I TCPIP STORAGE
EZZ8454I TCPCS STORAGE CURRENT MAXIMUM LIMIT
EZZ8455I TCPCS ECSA 8944K 10004K NOLIMIT
EZZ8455I TCPCS POOL 9061K 9099K NOLIMIT
EZZ8459I DISPLAY TCPIP STOR COMPLETED SUCCESSFULLY
- On z/OS 1.11 systems, another line has been added to the report to reflect control blocks being placed in 64-bit common storage (addresses above 7FFFFFFF, also called above the bar). This is simply a report of the usage, there is no configuration item to limit that storage in TCPIP.
- NOTE: On z/OS 1.9 systems, the value reported for the limit of POOL storage is incorrect (it will be the same as the ECSA limit). This is a known problem that is documented by APAR PK59309. The NETSTAT CONFIG command can be used to show the actual configured limit. All of the other values reported in this display will be correct.
EZZ8454I TCPCS STORAGE CURRENT MAXIMUM LIMIT
EZZ8455I TCPCS ECSA 9700K 10782K NOLIMIT
EZZ8455I TCPCS POOL 8507K 8512K NOLIMIT
EZZ8455I TCPCS 64-BIT COMMON 1M 1M NOLIMIT
EZZ8459I DISPLAY TCPIP STOR COMPLETED SUCCESSFULLY
- On z/OS 1.12 systems, another line has been added to the report listing the space used for load modules resident in ECSA separately from control blocks in ECSA. The ECSA used for the load modules no longer counts against the ECSALIMIT on the GLOBALCONFIG statement, so you may want to adjust the size specified accordingly.
EZZ8454I TCPCS STORAGE CURRENT MAXIMUM LIMIT
EZZ8455I TCPCS ECSA 2729K 2729K NOLIMIT
EZZ8455I TCPCS POOL 8426K 8426K NOLIMIT
EZZ8455I TCPCS 64-BIT COMMON 1M 1M NOLIMIT
EZZ8455I TCPCS ECSA MODULES 7451K 7451K NOLIMIT
EZZ8459I DISPLAY TCPIP STOR COMPLETED SUCCESSFULLY
- On z/OS 1.13 systems (and above), the report has been rearranged to show separate sections for below the bar and above the bar storage. Plus POOL has been renamed to be PRIVATE.
EZZ8454I TCPCS STORAGE CURRENT MAXIMUM LIMIT
EZD2018I 31-BIT
EZZ8455I ECSA 2698K 3153K NOLIMIT
EZZ8455I PRIVATE 8491K 8491K NOLIMIT
EZZ8455I ECSA MODULES 8571K 8571K NOLIMIT
EZD2018I 64-BIT
EZZ8455I HVCOMMON 1M 1M NOLIMIT
EZZ8455I HVPRIVATE 6M 6M NOLIMIT
EZZ8455I TRACE HVCOMMON 2579M 2579M 2579M
EZZ8459I DISPLAY TCPIP STOR COMPLETED SUCCESSFULLY
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21216034