Fine tuning the LE heap

Use these steps to tune your z/OS® operating system to optimize WebSphere® Application Server performance.

About this task

The LE Heap is an area of storage management to be concerned with. For servers, IBM® has compiled default values for HEAP and HEAPPOOL into the server main programs. These are good starting points for simple applications. To fine tune the LE Heap settings, use the following procedure:

Procedure

  1. Use the LE RPTSTG(ON) function to generate a report on storage utilization for your application servers.
    Perform the following actions to enable this function. The results appear in the servant joblog.
    1. In the administrative console, click Environment > WebSphere variables > > New.
    2. Specify _CEE_RUNOPTS in the Name field, and RPTSTG(ON),RPTOPTS(ON) in the Value field.
    3. Click Save to save your changes
  2. To bring the server down cleanly, use the following VARY command:
    VARY WLM,APPLENV=xxxx,QUIESCE
    
    
    The following example shows the servant SYSPRINT DD output from the RPTSTG(ON) function.
    Example:
    .   .   .    
    0    HEAP statistics:
           
    Initial size:                                     83886080
    
           Increment size:                                    5242880
           
    Total heap storage used (sugg. initial size):    184809328
    
           Successful Get Heap requests:                       426551
           Successful Free Heap requests:                      424262
           Number of segments allocated:                            1
           Number of segments freed:                                0
       .   .   .   
    
      Suggested Percentages for current Cell Sizes:   
        HEAPP(ON,8,6,16,4,80,42,808,45,960,5,2048,20) 
      Suggested Cell Sizes:                           
        HEAPP(ON,32,,80,,192,,520,,1232,,2048,)   
     . . .    
    
    
  3. Take the heap values from the Suggested Cell Sizes line in the storage utilization report and use them in another RPTSTG(ON) function to get another report on storage utilization.
    1. In the administrative console, click Environment > WebSphere variables > New.
    2. Specify _CEE_RUNOPTS in the Name field, and RPTOPTS(ON),RPTSTG(ON),HEAPPOOLS(ON,32,,80,,192,,520,,1232,,2048,) or RPTOPTS(ON),RPTSTG(ON),HEAPP(ON,32,,80,,192,,520,,1232,,2048,) in the Value field.
    3. Click Save to save your changes
    The following example shows the servant joblog output from specifying one of these values.
    Example:
       .   .    
    0    HEAP statistics:
           
    Initial size:                                     83886080
    
           Increment size:                                    5242880
           
    Total heap storage used (sugg. initial size):    195803218
    
           Successful Get Heap requests:                       426551
           Successful Free Heap requests:                      424262
           Number of segments allocated:                            1
           Number of segments freed:                                0
       .   .   .   
    
      Suggested Percentages for current Cell Sizes:   
        HEAPP(ON,32,8,80,43,192,48,520,20,1232,5,2048,20) 
      Suggested Cell Sizes:                           
        HEAPP(ON,32,,80,,192,,520,,1232,,2048,)   
     . . .    
    
    
  4. Take the heap values from the Suggested Percentages for current Cell Sizes line of the second storage utilization report and use them in another RPTSTG(ON) function to get a third report on storage utilization.
    1. In the administrative console, click Environment > WebSphere variables > New.
    2. Specify _CEE_RUNOPTS in the Name field, and RPTOPTS(ON),RPTSTG(ON,32,8,80,43,192,48,520,20,1232,5,2048,20) in the Value field.
    3. Click Save to save your changes
    The following example shows the servant joblog output from specifying this value.
    Example:
       .   .    
    0    HEAP statistics:
           
    Initial size:                                     83886080
    
           Increment size:                                    5242880
           
    Total heap storage used (sugg. initial size):    198372130
    
           Successful Get Heap requests:                       426551
           Successful Free Heap requests:                      424262
           Number of segments allocated:                            1
           Number of segments freed:                                0
       .   .   .   
    
      Suggested Percentages for current Cell Sizes:   
        HEAPP(ON,32,8,80,43,192,48,520,20,1232,5,2048,20) 
      Suggested Cell Sizes:                           
        HEAPP(ON,32,,80,,192,,520,,1232,,2048,)   
     . . .    
    
    
  5. On the third storage utilization report, look for the Total heap storage used (sugg. initial size): line and use this value for your initial LE heap setting.
    For example, in the report in the third report example, this value is 198372130.
  6. Remove the RPTSTG WebSphere variable from your server settings because a small performance degradation occurs while you are collecting the storage use information.
    1. In the administrative console, click Environment > WebSphere variables.
    2. Select _CEE_RUNOPTS, and remove RPTSTG.
  7. For your client programs that run on z/OS, you should specify HEAPP(ON) on the proc of your client to get the default LE heap pools.
    LE provides additional pools (more than 6), and larger than 2048 MB cell size in future releases of z/OS. You might be able to take advantage of these increased pools and cell sizes, if you have that service on your system.
  8. If you use LE HEAPCHECK, make sure to turn it off after you verify that your code does not include any uninitialized storage. HEAPCHECK can be very expensive.