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 Language Environment (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. Generate a report on storage utilization for your application servers. Use the LE function RPTSTG(ON) in a SET LEPARM= statement in JCL as shown in the example:
    SET LEPARM='RPTOPTS(ON),RPTSTG(ON)'
    
    
    Results appear in servant joblog.
  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) option.
    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 as shown below:
    SET LEPARM='RPTOPTS(ON),RPTSTG(ON),HEAPPOOLS(ON,32,,80,,192,,520,,1232,,2048,)' 
    
    or
    SET LEPARM='RPTOPTS(ON),RPTSTG(ON),HEAPP(ON,32,,80,,192,,520,,1232,,2048,)'
    
    
    The following example shows the servant joblog output from the RPTOPTS(ON),RPTSTG(ON,32,,80,,192,,520,,1232,,2048,) option.
    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 as shown below:
    SET LEPARM='RPTOPTS(ON),RPTSTG(ON,32,8,80,43,192,48,520,20,1232,5,2048,20)'
    
    
    The following example shows the servant joblog output from the RPTOPTS(ON),RPTSTG(ON,32,8,80,43,192,48,520,20,1232,5,2048,20) option.
    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 third report example this value is 198372130.
  6. Make sure that you remove RPTSTG since it does incur a small performance penalty to collect the storage use information.
  7. For your client programs that run on z/OS or OS/390, we recommend that you at least specify HEAPP(ON) on the proc of your client to get the default LE heap pools. LE will be providing additional pools (more than 6) and larger than 2048MB cell size in future releases of z/OS. You may 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 once you have ensured that your code doesn't include any uninitialized storage. HEAPCHECK can be very expensive.
Task topic Task topic    

Terms and conditions for information centers | Feedback

Last updatedLast updated: Aug 31, 2013 12:02:36 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=pix&product=was-nd-zos&topic=tprf_tunezleheap
File name: tprf_tunezleheap.html