Fine tuning the LE heap
Use these steps to tune the 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:
- 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.
- In the administrative console, click Environment > WebSphere variables > > New.
- Specify _CEE_RUNOPTS in the Name field, and RPTSTG(ON),RPTOPTS(ON) in the Value field.
- Click Save to save the changes
- To bring the server down cleanly, use the following VARY command:
VARY WLM,APPLENV=xxxx,QUIESCEThe 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,) . . .
- 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.
The following example shows the servant joblog output from specifying one of these values.
- In the administrative console, click Environment > WebSphere variables > New.
- 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.
- Click Save to save the changes
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,) . . .
- 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.
The following example shows the servant joblog output from specifying this value.
- In the administrative console, click Environment > WebSphere variables > New.
- 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.
- Click Save to save the changes
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,) . . .
- On the third storage utilization report, look for the "Total heap storage used (sugg. initial size):" line and use this value for the initial LE heap setting. For example, in the report in the third report example, this value is 198372130.
- Remove the RPTSTG WebSphere variable from the server settings because a small performance degradation occurs while you are collecting the storage use information.
- In the administrative console, click Environment > WebSphere variables.
- Select _CEE_RUNOPTS, and remove RPTSTG.
- For the client programs that run on z/OS, you should specify HEAPP(ON) on the proc of the 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.
- If we use LE HEAPCHECK, make sure to turn it off after you verify that the code does not include any uninitialized storage. HEAPCHECK can be very expensive.