To diagnose problems involving uncontrolled storage allocation, use the CELLTRC command. The CELLTRC command traces storage cell usage.
Type: General command
Authority: To issue the CELLTRC command, you require OPER authority.
This command has the following format:
CELLTRC
A snapshot data set must first be created. This data set contains the storage cell snapshots that the CELLTRC command generates. Use the following DCB attributes:
DSORG=PS,RECFM=VB,LRECL=137,BLKSIZE=6144
The following DD statement must be added to z/OS Agent cataloged procedure:
//CELLTRC DD DISP=SHR,DSN=celltrc.dataset
Start z/OS Agent with the following command. The @CELLTRC keyword must be the first parameter in the PARM string. Once activated, cell tracing remains active only during the current execution of z/OS Agent. To keep the cell tracing active, the @CELLTRC keyword must be used each time z/OS Agent is started:
S ZAG,PARM='@CELLTRC,...'
The CELLTRC command causes z/OS Agent to generate a storage cell snapshot and place it in the cell trace data set. The cell trace data set is named in the CELLTRC DD statement. The CELLTRC command can be issued from a z/OS console or from line mode.
To deactivate the cell tracing, restart z/OS Agent without using the @CELLTRC keyword.
The storage cell snapshot consists of three sections: the cell pool header display, the cell display, and the cell summary.
The cell pool header display shows the available cell size and how many of each size are currently allocated. The COUNT field indicates how many cells of a particular size are allocated. The ACTIVITY field shows the number of gets and frees done for this cell size:
SIZE 8, COUNT 0, ACTIVITY 0 SIZE 16, COUNT 17, ACTIVITY 42 SIZE 32, COUNT 59, ACTIVITY 104 SIZE 64, COUNT 31, ACTIVITY 85 SIZE 128, COUNT 32, ACTIVITY 427
The cell display describes each individual cell that is presently allocated. Its size and requestor CSECT are shown, along with up to 64 bytes of its contents. Also shown is the CSECT that called the requestor CSECT. The offset within each CSECT from which the request was made is also shown:
CELL SIZE 128, REQUESTED BY CYBXI000+0054, CALLED BY CYBXR003+0CA6
+0 00039F80 00000000 000076F3 00873C54 00000000 ...
+20 00039FA0 00000000 00000000 003D2448 003D2450 ...
CELL SIZE 32, REQUESTED BY CYBXI003+0CF4, CALLED BY CYBJS107+0DB8
+0 003D2448 00000000 008876F3 00000000 00000000 ...
...
Cell Summary
The cell summary lists the number of cells that are currently allocated, but arranged by requestor's base address and requesting address, and by the requestor's caller's base address and calling address. The following example shows that three cells of size 32 are currently allocated, having been requested by CYBXI003 at offset 0CF4 who was called by CYBJS107 at offset 0DB8. The base address of the CYBXI003 CSECT is at 02357708, and the request was made from address 023583FC:
---- STORAGE ALLOCATED BY REQUESTOR'S ADDRESS ADDR 0234574C, BASE 023456F8, COUNT 1, BYTES 128 - CYBXI000+0054 ADDR 023583FC, BASE 02357708, COUNT 3, BYTES 32 - CYBXI003+0CF4 ---- STORAGE ALLOCATED BY REQUESTOR'S CALLER'S ADDRESS ADDR 02365E38, BASE 02365080, COUNT 3, BYTES 32 - CYBJS107+0DB8 ADDR 02358C36, BASE 02357F90, COUNT 1, BYTES 128 - CYBXR003+0CA6
Example: Trace Storage Cell Usage
In the following example, storage cell usage is generated and placed in the cell trace data set named in the CELLTRC DD statement:
CELLTRC
|
Copyright © 2013 CA.
All rights reserved.
|
|