Tuning the z/OS operating system to optimize TrueSight Middleware and Transaction Monitor applications
Tuning the LE Heap
The Language Environment (LE) Heap is an area of storage management. For TrueSight Middleware and Transaction Monitor applications BMC has placed default values for HEAP and HEAPPOOL in installation library, CEEOPTS member.
HEAP(500M,16M,ANY,KEEP,16K,16K)
HEAPP(ON)
To fine tune the LE Heap settings
- Generate a report on storage utilization for a TrueSight Middleware and Transaction Monitor application. Use the LE function RPTSTG(ON) and HEAPP(ON) in a CEEOPTS member, as shown below:
HEAP(500M,16M,ANY,KEEP,16K,16K)
RPTSTG(ON)
HEAPP(ON)
Results appear in the application SYSOUT log after the application is stopped.
The following example shows the TrueSight Middleware and Transaction Monitor application SYSOUT DD output from the RPTSTG(ON) option. - 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:
HEAP(500M,16M,ANY,KEEP,16K,16K)
HEAPP(ON,
24,,32,,48,,64,,88,,128,,
224,,520,,1560,,2096,,4096,,8200,)
RPTSTG(ON) - 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:
HEAP(500M,16M,ANY,KEEP,16K,16K)
HEAPP(ON,
24,1,32,1,48,1,64,1,88,1,128,1,224,1,520,1,1560,1,
2096,1,4096,1,8200,1)
RPTSTG(ON) - In 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.
HEAP(65M,16M,ANY,KEEP,16K,16K)
HEAPP(ON,
24,1,32,1,48,1,64,1,88,1,128,1,224,1,520,1,1560,1,
2096,1,4096,1,8200,1) - Make sure that you remove RPTSTG since it does incur a small performance penalty to collect the storage use information.
Specifying monitored job names for reduced CPU usage
On z/OS platforms, QPBTM is used to monitor messages sent or received using WebSphere MQ APIs. Using the Monitor Console, you configure which WebSphere MQ applications (jobs) and WebSphere MQ queues or topics you wish to monitor. This configuration is then deployed to the z/OS systems. This configuration can be altered and redeployed easily.
Whenever a WebSphere MQ API is called, QPBTM determines whether the WebSphere MQ application and queue or topic combination is monitored. This determination does consume some CPU time within each WebSphere MQ application. Once your configurations have stabilized you may determine there are only a few WebSphere MQ applications that are monitored. You may also find that you are not monitoring a WebSphere MQ application that uses WebSphere MQ APIs often. The BTMINI installation member may be used to define a list of jobs that are included for monitoring or a list of jobs that are excluded for monitoring but not both.
It is recommended you use the option to exclude jobs and specify the job names for any QPMON or QPCFG jobs.
Follow these steps to update the BTMINI member and the QPBTM procedure in the Installation library:
- In BTMINI member specify EXCLUDE or INCLUDE statements.
- In QPBTM procedure update //BTMINI DD statement to point to BTMINI member.
- In QPBTM procedure update //BTMPRINT DD statement to use SYSOUT=* (Optional)
Each line of the BTMINI member should contain lines consisting of
INCLUDE=<job name>
Or
EXCLUDE=<job name>
Example:
EXCLUDE=ASTMON8H (QPMON task name)
EXCLUDE=ASTCFG8H (QPCFG task name)
Do not mix INCLUDE and EXCLUDE as they are mutually exclusive. Use caution with the INCLUDE statement since only the job names listed are included for monitoring.
If you want to monitor several applications you will need an INCLUDE statement for each of them. Wildcards are not supported.
EXCLUDE statements processing
When a WebSphere MQ API call originates from one of the jobs specified in EXCLUDE statements further processing is bypassed.
INCLUDE statements processing
When a WebSphere MQ API call originates from one of the jobs specified in the INCLUDE statements processing continues and a normal determination is made from the configuration on whether the job and queue or topic are monitored.
The following messages will be displayed for job names that are either included or excluded.
or
Warning or error messages
The following warning or error messages will be displayed if the BTMINI member is not defined correctly.
BTM0022W - BTMINI:<Rec #>. Invalid keyword <Keyword>. Record ignored
Every line must begin with either INCLUDE= or EXCLUDE=. The warning identifies the line that does not.
BTM0023W - BTMINI: <Rec #>. Number of records <Accepted Rec #> exceeds maximum <Max Number>. Record ignored.
There are a fixed number of jobs that may be configured. The number is quite high and subject to change, refer to the warning message to determine the current maximum.
BTM0024W - BTMINI: <Rec #>. Job name exceeds maximum 8 characters. <Job name>. Record ignored.
A job name has a maximum of 8 characters. Please correct the typographical error.
BTM0025W - BTMINI: <Rec #>. Duplicate Job name <Job name>. Record ignored
The job name specified in the warning was listed more than once. Please remove the duplicate(s).
BTM0026E - BTMINI:Include/Exclude are mutually exclusive. Input ignored.
All lines must either be INCLUDE or EXCLUDE. You must choose which mechanism to be used.
BTM0027E - BTMINI:Unrecoverable I/O error. Input ignored.
The BTMINI member is not configured correctly or not readable.