Controlling storage allocation

The following runtime options control storage allocation:

z/OS Language Environment Programming Guide for 64-bit Virtual Addressing Mode provides useful tips to assist with the tuning process. Appropriate tuning is necessary to avoid performance problems.

To generate a report of the storage a routine (or more specifically, an enclave) used during its run, specify the RPTSTG(ON) runtime option. The storage report, generated during enclave termination provides statistics that can help you understand how space is being consumed as the enclave runs. If storage management tuning is desired, the statistics can help you set the corresponding storage-related runtime options for future runs. Figure 1 shows a sample storage report.

Figure 1. 64–bit storage report (Part 1 of 4)
Start of changeStorage Report for Enclave main Mon Sep 17 09:26:22 2012
Language Environment V02 R01.00End of change                                
                                                                                                                                    
    STACK64 statistics:                                                                                                             
      Initial size:                                                 1M                                                              
      Increment size:                                               1M                                                              
      Maximum used by all concurrent threads:                       1M                                                              
      Largest used by any thread:                                   1M                                                              
      Number of increments allocated:                               0                                                               
    THREADSTACK64 statistics:                                                                                                       
      Initial size:                                                 1M                                                              
      Increment size:                                               1M                                                              
      Maximum used by all concurrent threads:                       0M                                                              
      Largest used by any thread:                                   0M                                                              
      Number of increments allocated:                               0                                                               
    64bit User HEAP statistics:                                                                                                     
      Initial size:                                                 1M                                                              
      Increment size:                                               1M                                                              
      Total heap storage used:                                 983808                                                               
      Suggested initial size:                                       1M                                                              
      Successful Get Heap requests:                                11                                                               
      Successful Free Heap requests:                                0                                                               
      Number of segments allocated:                                 0                                                               
      Number of segments freed:                                     0                                                               
    31bit User HEAP statistics:                                                                                                     
      Initial size:                                             32768                                                               
      Increment size:                                           32768                                                               
      Total heap storage used (sugg. initial size):            243352                                                               
      Successful Get Heap requests:                                58                                                               
      Successful Free Heap requests:                                0                                                               
      Number of segments allocated:                                 9                                                               
      Number of segments freed:                                     0                                                               
    24bit User HEAP statistics:                                                                                                     
      Initial size:                                              4096                                                               
      Increment size:                                            4096                                                               
      Total heap storage used (sugg. initial size):                 0                                                               
      Successful Get Heap requests:                                 0                                                               
      Successful Free Heap requests:                                0                                                               
      Number of segments allocated:                                 0                                                               
      Number of segments freed:                                     0                                                               
    64bit Library HEAP statistics:                                                                                                  
      Initial size:                                                 1M                                                              
      Increment size:                                               1M                                                              
      Total heap storage used:                                3795584                                                               
      Suggested initial size:                                       4M                                                              
      Successful Get Heap requests:                               384                                                               
      Successful Free Heap requests:                              337                                                               
      Number of segments allocated:                                 2                                                               
      Number of segments freed:                                     0                                                               
    31bit Library HEAP statistics:                                                                                                  
      Initial size:                                             16384                                                               
      Increment size:                                            8192                                                               
      Total heap storage used (sugg. initial size):                 0                                                               
      Successful Get Heap requests:                                 0                                                               
      Successful Free Heap requests:                                0                                                               
      Number of segments allocated:                                 0                                                               
      Number of segments freed:                                     0                                                                  
Figure 2. 64–bit storage report (Part 2 of 4)
    24bit Library HEAP statistics:                                                                                                  
      Initial size:                                              8192                                                               
      Increment size:                                            4096                                                               
      Total heap storage used (sugg. initial size):                 0                                                               
      Successful Get Heap requests:                                 0                                                               
      Successful Free Heap requests:                                0                                                               
      Number of segments allocated:                                 0                                                               
      Number of segments freed:                                     0                                                               
   64bit I/O HEAP statistics:                                                                                                       
      Initial size:                                                 1M                                                              
      Increment size:                                               1M                                                              
      Total heap storage used:                                      0                                                               
      Suggested initial size:                                       1M                                                              
      Successful Get Heap requests:                                 0                                                               
      Successful Free Heap requests:                                0                                                               
      Number of segments allocated:                                 0                                                               
      Number of segments freed:                                     0                                                               
    31bit I/O HEAP statistics:                                                                                                      
      Initial size:                                             12288                                                               
      Increment size:                                            8192                                                               
      Total heap storage used (sugg. initial size):              9616                                                               
      Successful Get Heap requests:                                27                                                               
      Successful Free Heap requests:                               19                                                               
      Number of segments allocated:                                 1                                                               
      Number of segments freed:                                     0                                                               
    24bit I/O HEAP statistics:                                                                                                      
      Initial size:                                              4096                                                               
      Increment size:                                            4096                                                               
      Total heap storage used (sugg. initial size):              3032                                                               
      Successful Get Heap requests:                                14                                                               
      Successful Free Heap requests:                                6                                                               
      Number of segments allocated:                                 1                                                               
      Number of segments freed:                                     0                                                               
    HEAPPOOLS Statistics:                                                                                                           
      Pool  1     size:     8 Get Requests:                0                                                                        
      Pool  2     size:    32 Get Requests:                1                                                                        
        Successful Get Heap requests:    17-   24                     1                                                             
      Pool  3     size:   128 Get Requests:                0                                                                        
      Pool  4     size:   256 Get Requests:                0                                                                        
      Pool  5.1   size:  1024 Get Requests:              225                                                                        
      Pool  5.2   size:  1024 Get Requests:                0                                                                        
      Pool  5.3   size:  1024 Get Requests:                0                                                                        
        Successful Get Heap requests:   273-  280                   225                                                             
      Pool  6     size:  2048 Get Requests:                0                                                                        
      Requests greater than the largest cell size:                  0         
    HEAPPOOLS Summary:                                                                                                              
      Specified  Element  Extent   Cells Per  Extents    Maximum      Cells In                                                      
      Cell Size  Size     Percent  Extent     Allocated  Cells Used   Use                                                           
      ------------------------------------------------------------------------                                                      
            8        16     10         409           0           0           0                                                      
           32        40     10         163           1           1           1                                                      
          128       136     10          48           0           0           0                                                      
          256       264     10          24           0           0           0                                                      
         1024      1032     10           4          57         225         225                                                      
         1024      1032     10           4           0           0           0                                                      
         1024      1032     10           4           0           0           0                                                      
         2048      2056     10           4           0           0           0                                                      
      ------------------------------------------------------------------------                                                      
      Suggested Percentages for current Cell Sizes:                                                                                 
        HEAPP(ON,8,1,32,1,128,1,256,1,(1024,3),90,2048,1,0)                                                                         
      Suggested Cell Sizes:                                                                                                         
        HEAPP(ON,24,,280,,2048,,0)                                                                                                  
  
Figure 3. 64–bit storage report (Part 3 of 4)
    HEAPPOOLS64 Statistics:                                                                                                         
      Pool  1     size:     8 Get Requests:                2                                                                        
        Successful Get Heap requests:     1-    8                     2                                                             
      Pool  2     size:    32 Get Requests:              240                                                                        
        Successful Get Heap requests:     9-   16                    12                                                             
        Successful Get Heap requests:    17-   24                   227                                                             
        Successful Get Heap requests:    25-   32                     1                                                             
      Pool  3     size:   128 Get Requests:              125                                                                        
        Successful Get Heap requests:    33-   40                     4                                                             
        Successful Get Heap requests:    41-   48                     1                                                             
        Successful Get Heap requests:    49-   56                     1                                                             
        Successful Get Heap requests:    57-   64                     4                                                             
        Successful Get Heap requests:    65-   72                     3                                                             
        Successful Get Heap requests:    73-   80                     7                                                             
        Successful Get Heap requests:    81-   88                     2                                                             
        Successful Get Heap requests:    89-   96                    88                                                             
        Successful Get Heap requests:   105-  112                     3                                                             
        Successful Get Heap requests:   113-  120                     8                                                             
        Successful Get Heap requests:   121-  128                     4                                                             
      Pool  4     size:   256 Get Requests:               53                                                                        
        Successful Get Heap requests:   129-  136                     2                                                             
        Successful Get Heap requests:   137-  144                     2                                                             
        Successful Get Heap requests:   145-  152                     2                                                             
        Successful Get Heap requests:   153-  160                     8                                                             
        Successful Get Heap requests:   161-  168                     1                                                             
        Successful Get Heap requests:   169-  176                     2                                                             
        Successful Get Heap requests:   177-  184                     3                                                             
        Successful Get Heap requests:   185-  192                     6                                                             
        Successful Get Heap requests:   193-  200                     5                                                             
        Successful Get Heap requests:   201-  208                     5                                                             
        Successful Get Heap requests:   209-  216                     2                                                             
        Successful Get Heap requests:   217-  224                     1                                                             
        Successful Get Heap requests:   225-  232                     5                                                             
        Successful Get Heap requests:   233-  240                     6                                                             
        Successful Get Heap requests:   249-  256                     3                                                             
      Pool  5.1   size:  1024 Get Requests:                2                                                                        
      Pool  5.2   size:  1024 Get Requests:                2                                                                        
      Pool  5.3   size:  1024 Get Requests:                0                                                                        
        Successful Get Heap requests:   281-  288                     2                                                             
        Successful Get Heap requests:   521-  528                     1                                                             
        Successful Get Heap requests:   713-  720                     1                                                             
      Pool  6     size:  2048 Get Requests:                2                                                                        
        Successful Get Heap requests:  1505- 1512                     1                                                             
        Successful Get Heap requests:  1641- 1648                     1                                                             
      Pool  7     size:  3072 Get Requests:                2                                                                        
        Successful Get Heap requests:  2073- 2080                     1                                                             
        Successful Get Heap requests:  2105- 2112                     1                                                             
      Pool  8     size:  4096 Get Requests:                1                                                                        
        Successful Get Heap requests:  3681- 3688                     1                                                             
      Pool  9     size:  8192 Get Requests:                0                                                                        
      Pool 10     size: 16384 Get Requests:                0                                                                        
      Pool 11     size: 32768 Get Requests:                0                                                                        
      Pool 12     size: 65536 Get Requests:                0                                                                        
      Requests greater than the largest cell size:                  0                                                               
                                                 
Figure 4. 64–bit storage report (Part 4 of 4)
    HEAPPOOLS64 Summary:                                                                                                            
      Specified  Element    Cells Per   Extents    Maximum       Cells In                                                           
      Cell Size  Size       Extent      Allocated  Cells Used    Use                                                                
      -------------------------------------------------------------------                                                           
            8         32         4000           1           1           0                                                           
           32         48         2000           1         226         225                                                           
          128        144          700           1          83          77                                                           
          256        272          350           1           1           0                                                           
         1024       1040           34           1           2           2                                                           
         1024       1040           34           1           2           0                                                           
         1024       1040           34           0           0           0                                                           
         2048       2064           50           1           2           2                                                           
         3072       3088           50           1           2           2                                                           
         4096       4112           50           1           1           0                                                           
         8192       8208           25           0           0           0                                                           
        16384      16400           10           0           0           0                                                           
        32768      32784            5           0           0           0                                                           
        65536      65552            5           0           0           0                                                           
      -------------------------------------------------------------------                                                           
      Suggested Cell Sizes:                                                                                                         
        HP64(ON,                                                                                                                    
             40,,80,,96,,128,,168,,224,,                                                                                            
             288,,528,,720,,1648,,2112,,3688,)                                                                                      
    Largest number of threads concurrently active:                  6                                                               
End of Storage Report