Fine tuning the LE heap
Use these steps to tune your z/OS® operating system to optimize WebSphere® Application Server performance.
About this task
Procedure
- 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.
- 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 your changes
- 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,) . . .
- 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.- 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 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,) . . .
- 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.- 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 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,) . . .
- 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. - Remove the RPTSTG WebSphere variable from your 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 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.
- 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.