+

Search Tips   |   Advanced Search

Fine tuning the LE heap

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

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:


Tasks

  1. Use the LE RPTSTG(ON) function to generate a report on storage utilization for the 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 the 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 the 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 the 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 our 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 the server settings because a small performance degradation occurs while we are collecting the storage use information.

    1. In the administrative console, click Environment > WebSphere variables.

    2. Select _CEE_RUNOPTS, and remove RPTSTG.

  7. For the client programs that run on z/OS, we should specify HEAPP(ON) on the proc of our 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. We might be able to take advantage of these increased pools and cell sizes, if we have that service on the system.

  8. If we 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.