DQPMST
DQPMST
6.4
Tuning Guide
IBM
SC27-2874-06
Note
Before using this information and the product it supports, read the information in “Notices” on page
141.
This edition applies to version 6, release 4 of IBM Z NetView (product number 5697-NV6 ) and to all subsequent
versions, releases, and modifications until otherwise indicated in new editions.
This edition replaces SC27-2874-05.
© Copyright International Business Machines Corporation 1997, 2022.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Contents
Figures................................................................................................................ vii
About this publication...........................................................................................ix
Intended audience...................................................................................................................................... ix
Publications................................................................................................................................................. ix
IBM Z NetView library............................................................................................................................ ix
Related publications .............................................................................................................................. x
Terminology in this Library.................................................................................................................... xi
Using IBM Z NetView online help.......................................................................................................... xi
Accessing publications online............................................................................................................... xi
Ordering publications ...........................................................................................................................xii
Accessibility ............................................................................................................................................... xii
Support information................................................................................................................................... xii
Conventions used in this publication......................................................................................................... xii
Typeface conventions .......................................................................................................................... xii
Operating system-dependent variables and paths.............................................................................xiii
Syntax diagrams...................................................................................................................................xiii
iii
Chapter 4. Tuning for Command Procedures......................................................... 23
Tuning Techniques..................................................................................................................................... 23
Command Lists.......................................................................................................................................... 24
Preloading Command Lists.................................................................................................................. 24
Managing Command Lists with AUTODROP........................................................................................ 25
Subroutines.......................................................................................................................................... 25
REXX Command Lists.................................................................................................................................26
How to Compile REXX Procedures.......................................................................................................26
Compiled REXX/370 Command Lists.................................................................................................. 26
REXX Function Packages......................................................................................................................27
Tuning REXX Environments..................................................................................................................30
Command Processors................................................................................................................................31
Command Processors Written in a High-Level Language................................................................... 32
Running High-level Language Programs in a Preinitialized Environment........................................... 32
Global Variables......................................................................................................................................... 34
Enhancing Performance....................................................................................................................... 35
Save/Restore Processing..................................................................................................................... 35
iv
DASD Filtering.......................................................................................................................................61
Managing Database Size...................................................................................................................... 62
SESSMDIS Command................................................................................................................................ 63
RTM Data Collection...................................................................................................................................66
LUCOUNT Parameter................................................................................................................................. 66
v
NetView-NetView Communication..........................................................................................................101
NetView Program-to-Program Interface................................................................................................ 101
Network Asset Management Facility.......................................................................................................102
Partitioned Data Set (PDS) Allocation..................................................................................................... 102
Persistent and Nonpersistent LUC Sessions...........................................................................................103
Using Nonpersistent Sessions over Dialed Lines.............................................................................. 103
RESOURCE Command............................................................................................................................. 104
Resource Limits....................................................................................................................................... 105
Keywords for Resource Limits........................................................................................................... 105
Using Resource Limits........................................................................................................................106
Status Monitor STATOPT Filtering........................................................................................................... 107
STEPLIB DD Statements..........................................................................................................................107
TASKMON Command............................................................................................................................... 107
TASKUTIL Command............................................................................................................................... 109
TASKUTIL Command Output............................................................................................................. 110
Calculating Task Utilizations with Two Observations of TASKUTIL.................................................. 112
Suggestions for Using TASKUTIL....................................................................................................... 113
IBM Z NetView Enterprise Management Agent...................................................................................... 114
Notices..............................................................................................................141
Programming Interfaces..........................................................................................................................142
Trademarks.............................................................................................................................................. 142
Privacy policy considerations.................................................................................................................. 142
Index................................................................................................................ 145
vi
Figures
12. Example of KCLASS and MAPSESS Statements Using the KEEPSESS and DGROUP Options................ 61
14. RODM Log Record Type 8 for API Statistics (Part 1 of 2).........................................................................75
15. RODM Log Record Type 8 for API Statistics (Part 2 of 2).........................................................................76
16. RODM Log Record Type 8 for Segment and Window Statistics............................................................... 77
18. Sample BLDVRP Macros Defining VSAM Buffer Pools for CNMSJM01....................................................83
20. Sample Output from the VSAMPOOL Command Using 3390 DASD........................................................87
vii
24. Sample TASKMON Output (Part 1 of 2).................................................................................................. 108
viii
About this publication
The IBM Z® NetView® product provides advanced capabilities that you can use to maintain the highest
degree of availability of your complex, multi-platform, multi-vendor networks and systems from a single
point of control. This publication, the IBM Z NetView Tuning Guide, provides tuning information and
techniques for the NetView product. For the purpose of this publication, tuning is activity that helps
the NetView program and its network environment achieve a certain performance goal in areas such as
response time, resource utilization, and throughput. Although this publication does not provide a precise
method of tuning the NetView product, it highlights the areas that have the most effect on NetView
performance and explains how you can improve performance in those areas.
Intended audience
This publication is for system programmers whose jobs involve improving the performance of the NetView
program. Readers should have a thorough understanding of the NetView program. They must also have
some problem diagnosis experience and an idea of what can cause a performance goal to be missed.
Publications
This section lists publications in the IBM Z NetView library and related documents. It also describes how
to access NetView publications online and how to order NetView publications.
Related publications
You can find additional product information on the IBM Z NetView web site at https://www.ibm.com/
products/z-netview.
For information about the NetView Bridge function, see Tivoli NetView for OS/390® Bridge Implementation,
SC31-8238-03 (available only in the V1R4 library).
Accessibility
Accessibility features help users with a physical disability, such as restricted mobility or limited vision, to
use software products successfully. Standard shortcut and accelerator keys are used by the product and
are documented by the operating system. Refer to the documentation provided by your operating system
for more information.
For additional information, see the Accessibility appendix in the User's Guide: NetView.
Support information
If you have a problem with your IBM software, you want to resolve it quickly. IBM provides the following
ways for you to obtain the support you need:
Online
Please follow the instructions located in the support guide entry: https://www.ibm.com/support/
home/pages/support-guide/?product=4429363.
Troubleshooting information
For more information about resolving problems with the IBM Z NetView product, see the IBM Z
NetView Troubleshooting Guide. You can also discuss technical issues about the IBM Z NetView
product through the NetView user group located at https://groups.io/g/NetView. This user group is for
IBM Z NetView customers only, and registration is required. This forum is also monitored by interested
parties within IBM who answer questions and provide guidance about the NetView product. When a
problem with the code is found, you are asked to open an official case to obtain resolution.
Typeface conventions
This publication uses the following typeface conventions:
Bold
• Lowercase commands and mixed case commands that are otherwise difficult to distinguish from
surrounding text
• Interface controls (check boxes, push buttons, radio buttons, spin buttons, fields, folders, icons,
list boxes, items inside list boxes, multicolumn lists, containers, menu choices, menu names, tabs,
property sheets), labels (such as Tip:, and Operating system considerations:)
• Keywords and parameters in text
Syntax diagrams
The following syntax elements are shown in syntax diagrams. Read syntax diagrams from left-to-right,
top-to-bottom, following the horizontal line (the main path).
• “Symbols” on page xiii
• “Parameters” on page xiv
• “Punctuation and parentheses” on page xiv
• “Abbreviations” on page xiv
For examples of syntax, see “Syntax examples” on page xiv.
Symbols
The following symbols are used in syntax diagrams:
COMMAND_NAME opt_variable_1,,opt_variable_3
You do not need to specify the trailing positional commas. Trailing positional and non-positional commas
either are ignored or cause a command to be rejected. Restrictions for each command state whether
trailing commas cause the command to be rejected.
Abbreviations
Command and keyword abbreviations are listed in synonym tables after each command description.
Syntax examples
The following examples show the different uses of syntax elements:
• “Required syntax elements” on page xv
• “Optional syntax elements” on page xv
• “Default keywords and values” on page xv
A required choice (two or more items) is shown in a vertical stack on the main path. The items are shown
in alphanumeric order.
REQUIRED_OPERAND_OR_VALUE_1
REQUIRED_OPERAND_OR_VALUE_2
OPTIONAL_OPERAND
A required choice (two or more items) is shown in a vertical stack below the main path. The items are
shown in alphanumeric order.
OPTIONAL_OPERAND_OR_VALUE_1
OPTIONAL_OPERAND_OR_VALUE_2
KEYWORD1 OPTION=*
COMMAND_NAME
KEYWORD1 OPTION= *
KEYWORD2 VALUE1
KEYWORD3 VALUE2
REPEATABLE_OPERAND_OR_VALUE_1
REPEATABLE_OPERAND_OR_VALUE_2
REPEATABLE_OPERAND_OR_VALUE_3
value_n )
OPERAND7 OPERAND8
Syntax fragments
Some syntax diagrams contain syntax fragments, which are used for lengthy, complex, or repeated
sections of syntax. Syntax fragments follow the main diagram. Each syntax fragment name is mixed case
and is shown in the main diagram and in the heading of the fragment. The following syntax example
shows a syntax diagram with two fragments that are identified as Fragment1 and Fragment2.
COMMAND_NAME Fragment1
Fragment2
Fragment1
KEYWORD_A= valueA KEYWORD_B KEYWORD_C
Fragment2
KEYWORD_D KEYWORD_E= valueE KEYWORD_F
This chapter addresses many tuning-related questions asked by users of the NetView program. This
chapter also provides basic tuning considerations to improve general NetView performance. Review these
topics and considerations for relevancy to your environment.
See Chapter 6, “Tuning for the Session Monitor,” on page 49 for more information.
3. Use the DBAUTO command to reorganize or reset the VSAM databases regularly. See “ VSAM Database
Maintenance” on page 88 for more information.
4. Use the following utilities to monitor performance:
AUTOCNT
Generates automation table usage reports. See “AUTOCNT Command” on page 9.
COLLCTL LISTINFO
Displays the average and maximum time it takes for the NetView program data collectors to collect
data during a given data collection interval. The display includes statistics for the following data
collectors:
• DVDEF
• DVTAD
• DVCONN
• DVROUT
• INTERFACES
• TELNET
• APPL
DISPPI
Displays information about NetView program-to-program interface buffer queues, including buffer
queue lengths, total buffers sent, and buffer storage usage. See “NetView Program-to-Program
Interface” on page 101.
DSRBS
Displays statistics on data services request block (DSRB) use for NetView and user-written data
services tasks (DSTs). See “Using the NPDA.DSRBO Statement” on page 44.
HLLENV
Displays information about usage of the regular and critical preinitialized environment pools
by PL/I command processors. See “Running High-level Language Programs in a Preinitialized
Environment” on page 32.
HMSTATS
Displays hardware monitor event and alert workload counters, and statistics about the alert cache
and alerts dynamic (ALD) screen update processing. See “HMSTATS Command” on page 41.
LISTCAT
Displays VSAM database definition and performance data for NetView DSTs that have open VSAM
databases. See “LISTCAT Command” on page 84.
LOGTSTAT
Logs record type 38 subtype 2 to SMF at logoff/logon/termination.
You can add these utilities to a command list that can be run periodically to collect performance statistics.
See the example in Figure 1 on page 4.
Recording performance statistics to the NetView log in this manner can provide useful historical
information for trend analysis and can be invaluable in performance problem analysis.
The NetView program provides functions that you can use to automate operations.
Many messages are sent to the NetView program for automation after being processed by the MVS
message processing facility (MPF).
For a detailed description of NetView automation, refer to theIBM Z NetView Automation Guide.
Tuning Techniques
Following are the major tuning techniques for automated operations, arranged in order of expected effect
on performance, with the most important tuning considerations listed first. These are described in detail
in this chapter.
1. Limit the number of system messages processed by the NetView program. On MVS systems, include
a .NO_ENTRY statement specifying AUTO(NO) in the MPFLSTxx member of SYS1.PARMLIB. See
“Limiting System Messages” on page 5.
2. Segment the automation table using BEGIN/END sections to minimize the average number of
automation table statements evaluated for each message or MSU. See “Using BEGIN/END to Improve
Efficiency” on page 7.
3. Use the AUTOCNT command to generate usage reports for the NetView automation table. See
“AUTOCNT Command” on page 9.
4. Eliminate simple command procedures when the condition processing can be performed directly in the
automation table. See “Using Other Techniques to Improve Efficiency” on page 8.
5. Block the hardware monitor ESREC, AREC, and OPER filters where possible for alerts that are to be
automated. See “Filtering Hardware Monitor Records” on page 13.
6. Minimize the use of the CONTINUE automation table action if it causes the entire table to be scanned.
See “Using Other Techniques to Improve Efficiency” on page 8.
7. Use the MSUSEG automation table condition if you plan to automate alerts. This automates the MSU
directly, rather than generating the BNJ146I and BNJ030I messages using the hardware monitor
OPER filter. See “Automating Hardware Monitor Records” on page 13.
8. Use multiple autotasks for MVS environments to distribute the automation workload across multiple
processors. See “Automation Tasks (Autotasks)” on page 13.
9. Use the RMTCMD command, where possible, to forward commands and messages between a
distributed system and a focal point. The alternative method uses OST-NNT sessions. See “Command
and Message Forwarding” on page 15.
• Some comparison items take longer to evaluate than others. Comparison items with the potential to
be relatively slow include MSUSEG comparison items that specify complex locations, the DSICGLOB
automation table function (ATF) program that is supplied with the NetView product, and any lengthy ATF
programs you have written. Isolate these items by placing them in BEGIN/END sections started with an
IF-THEN statement so that the NetView program evaluates the items only when the comparison in the
IF-THEN statement is true. You can also isolate items by placing them after a logical-AND operator (&).
In this case, the NetView program evaluates the items only if the conditions before the & are met.
• Avoid unnecessary NetView automation processing by using the operating system message facility
(MPF for MVS) to suppress unneeded messages. Only those system messages that require NetView
automation or an operator's action should be forwarded to the NetView program. See “Limiting System
Messages” on page 5 for more information.
• Eliminate simple command procedures whose function can be processed in the automation table
directly. Consider the following examples:
– Instead of calling a command list from the automation table to check the value of a NetView global
variable, you can bypass the processing needed to run the command list by checking the global
variable value directly in the automation table using the DSITGLOB or DSICGLOB ATFs.
– The THRESHOLD comparison item is useful for specifying particular actions to take place when a
condition has happened at least a specified number of times within a specified time period. Using
THRESHOLD in the automation table is more efficient than calling a command procedure to make a
similar determination. The THRESHOLD counters are reset when a new automation table is loaded.
– If you call a command procedure to evaluate a complex condition that the existing automation table
comparison items cannot address, consider writing your own ATF to perform this processing.
• Minimize use of the CONTINUE automation table action that scans the entire table. The CONTINUE
action is useful for things such as setting defaults for the table or a section of the table and then
continuing the search for an additional match, as specified by the statement in the following example:
If specified on every statement, CONTINUE(Y) increases processing time. The entire automation table
must be searched to determine all automation actions that should take place. If you use CONTINUE(Y)
to determine multiple IF-THEN statements that all result in actions to be performed, design your table
so that scanning does not need to continue through the entire table by doing one of the following:
– Specify CONTINUE(N) on the last statement where you expect to find a match for a particular
message or MSU.
• If automation slows because many unsolicited messages are queued on a single task waiting for
automation table processing, you can use the ASSIGN command to split the messages among several
tasks. If you use the ASSIGN command, you can still use the automation table for final routing of the
message; the ASSIGN command just gets the message to the automation table faster.
For more information about the NetView automation table, message routing, and ASSIGN processing,
refer to IBM Z NetView Automation Guide.
AUTOCNT Command
The AUTOCNT command produces a report describing the usage of automation table statements in the
active NetView automation table. You can also use the AUTOCNT command to reset the automation table
usage counters. You can display the report as multiline messages or place the information in a file.
The AUTOCNT command can request information and statistics on message-type automation statements,
on MSU-type automation statements, or both. You can request summary information or detail. The
detailed information tells you how many messages and MSUs were compared to each automation table
statement, and how many matched.
Message CNM493I is written to the network log each time a match is found in the NetView automation
table that results in the scheduling of a command or command list for execution with the EXEC action.
This message identifies the statement that ran the command or command list. Use it to determine how
frequently commands are run from the automation table and by which automation table statements. If
you use the AUTOCNT command to analyze automation table activity, you might want to prevent the
CNM493I message from being written to the network log. You can use the CNM493I parameter of the
DEFAULTS and OVERRIDE commands or the CNM493I action in the automation table to control whether
the message is written.
If you use the AUTOCNT command to analyze automation table activity, you might want to prevent the
CNM493I message from being written to the network log. You can use the CNM493I parameter of the
DEFAULTS and OVERRIDE commands or the CNM493I action in the automation table to control whether
the message is written.
For syntax and other information about the AUTOCNT command, and for information about the CNM493I
action of the automation table, refer to the IBM Z NetView Automation Guide. For information on the
CNM493I option of the DEFAULTS and OVERRIDE commands, and on the CNM493I message, refer to the
NetView online help.
Detail Reports
Figure 2 on page 10 illustrates the output of a detail report for MSG-type automation table statements.
Detail reports for MSU-type automation table statements provide the same types of data.
In addition to the statement number, sequence number, and member name, the detail report contains the
following information for each automation table statement.
• Conditional comparisons (COMPARE COUNT)
The counter that increments when the associated conditional statement is selected for evaluation.
• Evaluation matches (MATCH COUNT)
The counter that increments when the associated conditional statement is evaluated as true, resulting
in execution of all automation actions specified on the statement.
• Executed commands (E C)
This column reports the number of commands that are run for this automation statement when there is
an evaluation match. If the number of EXEC actions with CMD keywords is greater than 99, an asterisk
(*) appears in the column.
• Continue indicator (C I)
A report column marked X indicates that the conditional statement contained a CONTINUE action,
causing the NetView program to continue to scan the automation table. CONTINUE(Y) actions cause
additional conditional processing for later statements in the table, and can enable a conditional match
on additional statements.
• Always statement indicator (A I)
A report column marked X indicates that the statement was an ALWAYS. For ALWAYS statements, the
MATCH/COMP field is always 100%.
• Match to compare percentage (MATCH/COMP)
A statistic calculated by dividing the ratio of MATCH COUNT by the COMPARE COUNT of the conditional
statement, multiplied by 100. If the number of matches and the number of comparisons are both zero,
the ratio is shown as -.- to indicate division by zero.
• Compare percentage (COMP/TOTAL)
A statistic calculated by dividing the ratio of COMPARE COUNT of the conditional statement by the total
number of messages or MSUs, multiplied by 100. If the number of comparisons against this statement
and the total number of messages or MSUs processed by automation are both zero, the ratio is shown
as -.- to indicate division by zero.
• Match percentage (MATCH/TOTAL)
A statistic calculated by dividing the ratio of MATCH COUNT of the conditional statement by the total
number of messages or MSUs, multiplied by 100. If the number of matches for this statement and the
total number of messages or MSUs processed by automation are both zero, the ratio is shown as -.- to
indicate division by zero.
Any numeric column value that exceeds 99999999 is overwritten with eight asterisks (*).
Summary Reports
Figure 3 on page 11 illustrates the output of a summary report for MSG-type automation table
statements. Summary reports for MSU-type automation table statements provide the same types of data,
except for TOTAL ROUTES EXECUTED, because the ROUTE keyword of the EXEC action is not applicable to
MSUs.
You can set each of the filter types to BLOCK or PASS. A filter set to BLOCK prevents the filter or any
filters dependent on it from taking effect. For example, an AREC filter set to BLOCK prevents the OPER
and ROUTE filters from receiving the alert.
You can set the hardware monitor recording filters using the hardware monitor SRFILTER command.
You can set filters for MSUs that undergo automation processing using the SRF automation table action.
You can use the automation table to override settings made using SRFILTER. Both SRFILTER and the
automation table can set color and other highlighting attributes.
Filtering unnecessary hardware monitor records from the events and statistics database and the alerts
database can increase the productivity of operators and save substantial processing time. Use the
following guidelines when setting filter options:
• Allow required events to pass the ESREC and AREC filters.
• Set the ROUTE filter to PASS only for alerts that must be passed to a focal point system.
• Set the OPER filter to PASS only for alerts that you want to automate by creating BNJ146I and BNJ030I
messages.
For more information on hardware monitor filters, see “Hardware Monitor Filters” on page 37.
For an MVS environment, you can use multiple autotasks to distribute the automation workload across
multiple processors, thus taking advantage of multitasking to improve throughput. Throughput for an
automation workload can be constrained by contention for host processors or by contention for the
command list data control block (DCB), which synchronizes input and output (I/O) to the command list
data set.
For an automation workload in which the command lists have been preloaded using the LOADCL
command, no I/O is necessary to the command list data set; therefore, processor capacity is the only
constraint on automation throughput. When an n-way processor (where n is the number of processing
engines) is used with such a workload, additional autotasks beyond the number n probably do not offer a
significant throughput improvement.
This does not imply, however, that there is no value in using more than n autotasks in an n-way processor
environment. For example, it can be useful to separate the automation of critical messages from the rest
of the automation workload by assigning them to their own autotask.
• TASKUTIL will show tasks with TYPE=VOST if there are VOSTs active:
Note:
1. DSI#xxxx is not an available choice; it is assigned by the NetView program when an ATTACH
command is issued.
2. The example shows only one VOST active at this time. TASKUTIL shows all active tasks, including
VOSTs. The TYPE column shows the type of each active task.
On average, full-screen automation uses more processor resources than manual execution of commands
or procedures. All storage allocated during the ATTACH phase of full-screen automation is released during
the DETACH step, except for the normal storage growth seen when an OST logs on. The OST storage
growth is released when the task from which the ATTACH was issued is terminated. Because of the
potential below-the-line storage growth if many VOSTs are active at once, careful consideration should
be used when determining what to automate using full-screen automation. This is true in cases where
full-screen automation is used with tasks that are not normally logged off.
Tuning Techniques
Consider the following NetView techniques when tuning AON:
• Perform NetView tuning according to the applicable information for your release of the NetView
product. You should pay particular attention to session monitor tuning and to VSAM tuning.
• In any online system, I⁄O to databases is of primary importance. Do not put the NetView logs, the
session monitor databases, the AON automation log (if used) and the AON status file all on the same
DASD, or on DASD that is highly utilized.
• Do not specify secondary extents for logs if you are using the AUTOFLIP keyword.
DSICLD Library
In addition to program residency, DSICLD library concatenation can also affect performance. Keep the
number of libraries to a minimum, to reduce program search time. You might want to have two user
program libraries, a small one concatenated ahead of CNMCLST and a larger one after CNMCLST. For
maximum efficiency each library should reside on a different storage directory.
Automation Table
You can use the BEGIN/END feature to group all of your messages together in short sections. This cuts
automation table processing time considerably. Change the order of the IF THEN statements in the
automation table, so that the statements are ordered by frequency, which places the most frequently
processed message at the beginning. You can determine this by issuing the AUTOCNT command. For
more information about the AUTOCNT command, see the IBM Z NetView Command Reference Volume 1
(A-N) or the NetView online help.
Code early outs in the automation table. That is, if you are aware of messages that are being passed to
the NetView program and are not driving programs out of the automation table, code IF THEN statements
to exit near the beginning of your table. For example, if you know that there are no message triggers for
Ordinarily, messages such as these require an entry in the MPF list specifying AUTO=N, so that the
NetView product does not have to process the messages at all. If you are using another NetView program
for console automation, these messages must come over the subsystem interface (SSI). In these cases,
early outs are necessary in the AON automation table.
To further tune message processing, follow all of the preceding suggestions and then at the end of your
automation table, code an entry that traps on all other messages (IF MSGID=.) and runs a program that
writes that message to a file. Then, do whatever possible to omit them from processing.
Node Automation
AON does not know when a resource goes away suddenly, or if the outage was intentional, unless an
operator has specified it as inactive. For example, You might have specified a switched PU on a token
ring or an X.25 line is to be dropped after business hours. If your network has many such devices,
use RECOVERY control file entries with the NOAUTO parameter to forestall pointless recovery attempts
during off hours. You can code these statements generically with wildcard names, if you have a naming
convention, to decrease the number of statements required.
Operations
If you must recycle the AON NetView program during peak times of the day, do not code DDFREFRESH=Y
on the ENVIRON SETUP control file entry. This means that DDF does not know about resources that are
already down, but it is updated when they are running again. You can add them later by a restricted
NETSTAT call, or manually with DDFADD.
NETSTAT uses considerable cycles if TYPE=PHYSICAL is required. To manually add an AON resource to
DDF, you need to know the status you want it to show, which is determined by priority. The priority
value is found on the DDF entry in the control file (PR=nnn). For example, the priority for inactive is 150
(DDF INA*,PR=150,CLEAR=Y). When you add the resource to DDF with an inactive status, you want to do
so in such a way that DDF deletes it automatically when the resource comes active. This requires that
you specify on the DDFADD the same basic information that AON does. Specify the information in the
following format:
DDFADD sysname.resource_name(resource_type),
RV=resource_name,IN=/resource_name/,DA='some text',
PR=nnn
The DA field must contain some message text but it need not be the same text AON uses.
Use DBMAINT sparingly online. It is important to clean up and reorganize your databases to maximize
performance, but DBMAINT uses a lot of cycles and should not be used during peak periods. Set a timer
to run it during off hours.
Keep the number of operators who are notification operators to a minimum to save CPU cycles. Many
operators often prefer DDF to the messages.
A command list is a list of commands and statements designed to perform a specific function for the user.
For the NetView program, command lists can be written using the NetView command list language or
REXX. In the NetView program, a command processor is a module written in a high-level language (HLL)
or assembler language and is invoked as a command. A command procedure is either a command list or a
command processor written in PL/I or C.
For more information on command lists and command processors, see the following publications:
• IBM Z NetView Customization Guide
• IBM Z NetView Programming: Assembler
• IBM Z NetView Programming: PL/I and C
• IBM Z NetView Programming: REXX and the NetView Command List Language
Tuning Techniques
Following are the major tuning techniques for command procedures, arranged in order of expected
improvement on performance; the most important tuning considerations are listed first. These are
described in detail in this chapter.
1. Preload frequently used command lists using the LOADCL command. Consider invoking a command
list to issue LOADCL, loading the most frequently used command lists last. See “Command Lists” on
page 24.
2. For systems using PL/I command processors, define preinitialized environments for your frequently
run PL/I programs. You can use the HLLENV LIST STATS command to help you decide how many
preinitialized environments you need. See “Running High-level Language Programs in a Preinitialized
Environment” on page 32.
3. For systems using PL/I or C command processors, minimize or eliminate the I/O needed to find
and read the runtime routines during command processor execution. See “Command Processors” on
page 31.
4. Preload frequently used command processors by not specifying RES=N on their CMDDEF statements
in the CNMCMDU initialization member. See “Command Processors” on page 31.
5. Consider using the REXX/370 compiler to compile REXX command lists. Compiled REXX command
lists are more efficient than interpreted REXX command lists. See “Compiled REXX/370 Command
Lists” on page 26.
6. Avoid using nested command lists for subroutines where possible. See “Subroutines” on page 25.
7. For systems using REXX command lists, group frequently used external functions and subroutines in
REXX function packages. You can also modify the sample file CNMSJM11 to minimize the search time
for NetView system functions. See “REXX Function Packages” on page 27.
8. Use task global variables instead of common global variables where possible. The processing
demands of task global variables are smaller than the processing demands of common global
variables. See “Global Variables” on page 34.
9. If you expect to use more than 200 task or common global variables, specify the expected number
of variables in the NetView constants module DSICTMOD. You can use the QRYGLOBL command
to display the expected number of variables coded in DSICTMOD, as well as the actual number of
variables found. See “Global Variables” on page 34.
10. Consider using or adapting the AUTODROP command list (CNMS8003) to manage preloaded
command lists. See “Managing Command Lists with AUTODROP” on page 25.
AUTODROP 5 0 3
A command is not dropped from storage unless both the minimum time specified by the days and hours
parameters has elapsed and the command list has been invoked the minimum number of times necessary
(or less) since the command list was loaded.
Subroutines
Instead of using nested command lists for subroutines, consider calling the subroutine, as shown in the
following examples:
• for the NetView command list language:
&RETURN = -RI
&GOTO -SUB1
-RI
⋮
&EXIT
-SUB1
⋮
&GOTO &RETURN
CALL SUB1
⋮
EXIT
SUB1: PROCEDURE
⋮
RETURN
If you use nested REXX command lists, do not use the CALL statement to invoke them. Instead, place
the command list name in single quotation marks. The CALL statement causes the system libraries to be
searched before the NetView command list library. When the command list name is in single quotation
marks, the command list name is passed to the NetView program, and only the NetView library is
searched.
REXX local variables are accessed while processing other NetView commands, such as GETMTYPE,
GETMSIZE, and PARSEL2R. These commands pass information back to the REXX command list by
updating the REXX local variables. These NetView commands require more processing time when invoked
from REXX command lists than when invoked from NetView command lists.
Performance Considerations
The performance improvements that you can expect when you run a compiled REXX command list
depend on the type of command list. A program that performs many arithmetic operations shows
the greatest improvement. A program that mainly issues commands (such as NetView, VTAM, or MVS
commands) shows limited improvement, because the compiler cannot decrease the time taken in
processing the commands.
You can improve the performance of NetView system functions by making the NetView system function
package higher in the search order so that it can be found sooner. Take the following steps to modify the
function package section of the NetView sample file CNMSJM11. The labels in the following steps refer to
the examples in Figure 4 on page 28, Figure 5 on page 29, and Figure 6 on page 30.
1. Move PACKTB_NAME from the bottom of the list to either replace or follow PACKTB_USER_NAME
(Figure 4 on page 28 shows the initial order), depending on if you have defined your own user
function package.
*/********************************************************************/
*/* */
*/* PACKTB_HEADER - NetView REXX Function Package Table Header*/
*/* */
*/********************************************************************/
SPACE 3
***********************************************************************
* NOTE: Do NOT change any of the following address constant fields.
* The total number and number of used PACKTB entries may be
* changed as needed.
***********************************************************************
SPACE
PACKTB_HEADER DS 0C REXX Function Package Table HDR
PACKTB_USER_FIRST DC A(PACKTB_USER_ENTRY) Address of first USER
* PACKTB entry
PACKTB_USER_TOTAL DC F'1' Total number of USER PACKTB
* entries
PACKTB_USER_USED DC F'1' Number of used USER PACKTB
* entries
PACKTB_LOCAL_FIRST DC A(PACKTB_LOCAL_ENTRY) Address of first LOCAL
* PACKTB entry
PACKTB_LOCAL_TOTAL DC F'1' Total number of LOCAL PACKTB
* entries
PACKTB_LOCAL_USED DC F'1' Number of used LOCAL PACKTB
* entries
PACKTB_SYSTEM_FIRST DC A(PACKTB_SYSTEM) Address of first SYSTEM
* PACKTB entry
PACKTB_SYSTEM_TOTAL DC F'1' Total number of SYSTEM PACKTB
* entries
PACKTB_SYSTEM_USED DC F'1' Number of used SYSTEM PACKTB
* entries
PACKTB_LENGTH DC F'8' Length of each PACKTB entry
PACKTB_FFFF DC XL8'FFFFFFFFFFFFFFFF' End marker
SPACE 3
*/********************************************************************/
*/* */
*/* PACKTB_ENTRY - NetView REXX Function Package Table Entries*/
*/* */
*/********************************************************************/
SPACE 2
***********************************************************************
* NOTE: Do NOT change the NetView SYSTEM Function Package name. The
* LOCAL and USER Function Package names may be changed and
* additional SYSTEM Function Package Table entries may be made.
***********************************************************************
SPACE
PACKTB_USER_ENTRY DS 0C REXX USER Function Package Table
* Entry
PACKTB_USER_NAME DC CL8'DSIRXUFP' Name of USER Function Package
PACKTB_LOCAL_ENTRY DS 0C REXX LOCAL Function Package
* Table Entry
PACKTB_LOCAL_NAME DC CL8'DSIRXLFP' Name of LOCAL Function Package
PACKTB_SYSTEM DS 0C REXX SYSTEM Function Package
* Table Entry
PACKTB_NAME DC CL8'DSIRXFPG' Name of SYSTEM Function Package
SPACE 3
END DSIRXPRM End of DSIRXPRM module
Refer to IBM Z NetView Programming: Assembler for information about adding functions to the NetView
function packages.
Command Processors
Each command processor must have a CMDDEF statement in the CNMCMD initialization member. Do not
specify RES=N on the CMDDEF statements for frequently used command processors. If you do not specify
CMDDEF.IBMBLIIA.MOD=IBMBLIIA
CMDDEF.IBMBLIIA.TYPE=R
CMDDEF.IBMBLIIA.RES=Y
CMDDEF.EDCXV.MOD=EDCXV
CMDDEF.EDCXV.TYPE=R
CMDDEF.EDCXV.RES=Y
CMDDEF.EDCX24.MOD=EDCX24
CMDDEF.EDCX24.TYPE=R
CMDDEF.EDCX24.RES=Y
Preloading the HLL runtime libraries eliminates I⁄O for the directory search and the fetch for runtime
libraries.
See the appropriate MVS publication for more information about improving production library
performance.
Set the STACK and HEAP sizes carefully for your HLL command processors. For best performance, the
initial stack allocation should be large enough to satisfy all requests for stack storage. Likewise, the initial
heap segment should be large enough to satisfy all requests for heap storage. Use the facilities provided
by the HLL for tuning the STACK and HEAP sizes.
The goal of tuning the regular and critical pool allocations is to minimize the number of times that
preinitialized environments are not available when they are needed.
• Use of preinitialized environments is a processing versus storage trade-off. For the additional storage
requirement of preinitialized environments, you have a reduction in system processing. You can monitor
NetView storage usage with the RESOURCE command. Some environment storage (stack storage) is
allocated below the 16 MB line. Therefore, even if you do not have a 31 bit storage constraint, you
should monitor 24 bit storage usage.
• The storage associated with each preinitialized environment can grow over time, depending on the
needs of the PL/I or C command processors using them. Because the storage requirements for different
PL/I or C command processors vary, all the preinitialized environments eventually grow over time to
meet the needs of the most demanding PL/I or C command processor. To limit this growth, periodically
change the number of allocated environments to zero with the HLLENV command, allowing them to be
available. Then reset the requested number of environments with the HLLENV command to have them
reallocated.
For more information on preinitialized environments and the HLLENV command, refer to the IBM Z
NetView Programming: PL/I and C.
Global Variables
The following are classes of NetView global variables:
• Task global variables are accessible to any command procedure running under the task, as well as from
the automation table using the DSITGLOB automation table function (ATF). Task global variables can be
set to null, but when the variables are created, some storage is allocated for the variables until the task
ends.
• Common global variables are accessible by any command procedure running under the NetView
program from the automation table using the DSICGLOB ATF. Common global variables can be set
to null, but when the variables are created, some storage is allocated for the variables until the NetView
program ends. Common global variables can be updated directly from any task. Access to the common
global variables is serialized to provide data integrity using the system enqueue and dequeue facility.
Enhancing Performance
If you are writing an assembler command processor that updates multiple global variables, consider using
the NUMVARS option of the DSIVARS macro. This updates multiple global variables with a single macro
invocation.
Save/Restore Processing
In using the Save/Restore function for global variables (GLOBALV SAVEC, SAVET, GETT, and GETC), keep
in mind that a separate VSAM I/O is required for saving each variable, regardless of whether you specify
groups of variables using a wildcard character (*). The Save/Restore VSAM data set uses local shared
resources (LSR) by default. Restore operations can be buffered together, resulting in reduced I/O. Save
operations use VSAM writes, which are not deferred with LSR. If you consider using the deferred write
(DFR) performance option, see Chapter 9, “Tuning for VSAM,” on page 81 for a discussion of the
potential risk of losing data contained in the buffers in the event of an abnormal end of the NetView
program.
Do not save every global variable each time it is used in a command procedure. Save only the most critical
global variables in that manner. The processing required for GLOBALV SAVE and RESTORE is an order of
magnitude greater than the processing for GLOBALV GET and PUT.
Only the first 31 characters of a global variable name are contained in the VSAM key. Save/Restore
processes that specify wildcard names and access variables longer than 31 characters can result
in sequential searching, depending on how many such variables are duplicated within the first 31
characters.
Variables whose names and values are together over 4000 bytes are too long for DSISVRT and may be
saved to a sequential file - see samples CNMS8053 and CNMS8054 for more information. Such scenarios
take additional time to process, depending on the number of these variables. Limit the usage of these
variables with the Save/Restore function.
The hardware monitor is the component responsible for managing host and network problem information.
The hardware monitor manages this information using a filtering mechanism that controls data recording
and the generation of alerts to the operator.
Tuning Techniques
Following are the major tuning techniques for the hardware monitor, arranged in order of expected effect
on performance, with the most important tuning considerations listed first. These are described in detail
in this chapter.
1. Use the ESREC and AREC filters to control what data is logged to the hardware monitor database
as events, statistics, and alerts. For records that are automated using the NetView automation table,
consider blocking the recording filters from the automation table. See “Hardware Monitor Filters” on
page 37.
2. Use the ALCACHE statement to specify the number of alerts to be kept in storage. See “Using the
NPDA.ALCACHE Statement” on page 39.
3. For environments with more than 10 alerts a minute, use the viewing filter to minimize the number of
Alerts-Dynamic panels that are updated for each alert. See “Alerts-Dynamic Panel” on page 39.
4. Reorganize the VSAM database frequently to avoid control interval (CI) and control area (CA) splits.
Use the LISTCAT command to determine whether splits are occurring. You can use this information to
reorganize the database if necessary. See “ VSAM Database Maintenance” on page 88 and “LISTCAT
Command” on page 84.
5. Use the HMSTATS command to monitor the amount of hardware monitor work being done on your
system. HMSTATS displays event and alert workload counters, and statistics about the alert cache and
alerts dynamic (ALD) screen update processing. See “HMSTATS Command” on page 41.
6. For environments in which alerts are forwarded to a focal point host, use the LU 6.2 method of
forwarding alerts where possible, rather than LUC alert forwarding or the alert notification forwarding
mechanism that is based on message BNJ146I. See “Using the NPDA.ALERTFWD Statement ” on page
41.
7. Use the RATE statement to stop database logging of rapidly recurring events for a resource. See
“NPDA.RATE Statement Initialization Specifications” on page 46.
8. Code NPDA.MACRF=DFR in the CNMSTUSR or CxxSTGEN member, instead of using the LSR option. See
“Local Shared Resources (LSR) and Deferred Write (DFR)” on page 81.
Refer to “Automating Hardware Monitor Records” on page 13 and “Filtering Hardware Monitor Records”
on page 13 for more information about alert automation.
Use the SVFILTER command to determine which alerts can be viewed by a particular operator, as well as
controlling viewing of the Total Events and Total Statistics panels.
Refer to the IBM Z NetView Command Reference Volume 1 (A-N) for syntax and use of the SRFILTER and
SVFILTER commands.
Effective use of filters can have a significant effect on the hardware monitor resource requirements. You
can use many criteria to filter data. Your environment determines which are appropriate.
You can automate records using the MSUSEG and HIER conditions in the NetView automation table. If
you do not need to record automated records to the hardware monitor VSAM database, you can save
processing time by blocking the recording filters (ESREC, AREC, OPER, and ROUTE) in the automation
table. Refer to “Automating Hardware Monitor Records” on page 13 and “Filtering Hardware Monitor
Records” on page 13 for more information about automating problem records and blocking recording
filters.
Figure 9 on page 38 represents the hardware monitor filter structure.
The HMSTATS command displays the current ALCACHE setting and statistics on the alert cache usage.
A good ALCACHE setting will have a "% SATISFIED" value near 100% without wasting storage. Refer to
“HMSTATS Command” on page 41 for more information.
HMSTATS Command
HMSTATS is an unsupported, internal serviceability tool that is helpful in tuning the Hardware Monitor. Use
the HMSTATS command to monitor the amount of hardware monitor work being done on your system.
HMSTATS displays event and alert workload counters, and statistics about the alert cache and alerts
dynamic (ALD) screen update processing. Figure 10 on page 42 shows a sample of output generated
from the HMSTATS command.
The HMSTATS command also has a RESET option, which sets all of the workload counters to zero.
The following information is displayed with the HMSTATS command:
RECEIVED COUNTS:
TOTAL TRAFFIC
The total number of items that have been received by the hardware monitor.
FROM EP
The total number of alerts received that were forwarded from NetView entry points.
RECORDED
The total number of items that have been recorded to the hardware monitor database.
RECORDED (GMFALERT)
The total number of items that have been recorded for GMFHS.
FILTER COUNTS:
EVENTS/STATS
The total number of events and statistics which have been recorded to the hardware monitor
database.
Level 1–5 %
The percentage of the events/statistics records that were written at the given level in the resource
hierarchy.
ALERTS
The total number of alerts which have been recorded to the hardware monitor database.
% NON GENERIC
The percentage of the alerts recorded which are not in generic format.
OPER
The total number of alerts which passed the OPER filter to generate messages BNJ030I and BNJ146I.
Wrap Counts
Events, statistical data, and alerts are all logged to the hardware monitor database. The defaults for the
number of event and statistical records that are logged are 25 records for each resource. After 25 records,
the data is wrapped. For alerts, the number of records logged before wrapping is 100. You can decrease
the default values to make the hardware monitor database smaller. Use the SWRAP command to change
the wrap count of the records.
SWRAP Command
The SWRAP (SW) command establishes the number of event or statistical records to be retained for a
specified resource or the total number of alert records to be retained on the hardware monitor database.
You can issue the command only for resources against which data has been logged on the hardware
monitor database.
When this command requests a reduction in wrap count, the oldest records are deleted immediately. If
the wrap count is small, it might appear that the oldest record is not being wrapped off, because the new
set of records fits on the panel without deleting the old records.
For more information about the SWRAP command, see the IBM Z NetView Command Reference Volume 1
(A-N) or the NetView online help.
Note: The SWRAP command can result in loss of error data.
SW EV 5 N UNIT1
Initialization Specifications
To set wrap counts at initialization for resources that are not yet in the database, use the NPDA.W
statement in the CNMSTUSR or CxxSTGEN member. The NPDA.W statement does not alter the wrap count
for resources already existing on the hardware monitor database. The NPDA.W statement assigns initial
wrap values when the first error record for a particular resource is received.
The following WRAP command sets the wrap count to 10 for event records for a line:
W EV 010 LINE
Note: An alert wrap count that is too low can trigger the NPDA.R statement.
For more information about the NPDA.W and NPDA.R statements, see the IBM Z NetView Administration
Reference.
The hardware monitor generates an event notification whenever it receives statistical data in which the
ratio of temporary errors to traffic is greater than the threshold values.
The error-to-traffic (E/T) threshold defaults to a value of 3% for communication lines and to 1% for all
channel-attached communication controllers.
The default threshold of 3% is not appropriate for all lines. Lines vary widely in the ratio of temporary
errors to traffic. Some lines can have a normal range of 3% to 11%. For other lines, the threshold should
be at least 15% so that an event is generated for an abnormal condition only. Not only do meaningless E/T
ratio events clutter up the hardware monitor events panels, they also degrade performance. More data is
sent to the hardware monitor database when an event notification is generated from statistical data.
You can change the E/T thresholds in the hardware monitor by issuing the SRATIO operator command and
specifying the thresholds in the hardware monitor initialization program.
Use the following hardware monitor SRFILTER (SRF) commands to disable thresholds for all resources in
your network, for example, to display no warning facility for statistical data.
The SRFILTER commands in this example prevent the logging of events and alerts based on exceeding E/T
ratios. The statistical data is still logged.
As with all set recording filter (SRFILTER) commands, the filter settings are lost when you shut down
the NetView program. Use a command procedure to execute your SRFILTER commands each time the
NetView program is activated, or code your initial automation table to set your filters when the hardware
monitor is initialized.
If you place SRFILTER commands in a NetView initialization command list, you need to add a short timer
delay, perhaps 1 or 2 minutes, to ensure that the hardware monitor initialization has been completed
before the command list is executed. Refer to the sample NetView automation table DSIDNMAT
(CNMS7003) for information on how to invoke filters during hardware monitor initialization.
The value 150 means 15.0%. The resource type (LINE) is required in a RATIO statement.
Event/Automation Service
Set the connection mode in the alert adapter configuration file member IHSAACFG and in the message
adapter configuration file member IHSAMCFG to connection_oriented for the event delivery method. The
default value is connection_less which specifies that a new connection should be established (and ended)
for each event that is sent. Connection_oriented specifies that a connection should be established when
the adapter is initialized and maintained for all events sent. A new connection is established only if the
connection is lost. The connection is ended when the adapter is terminated.
Make the same change on the designated event server desktop. When creating your desktop rule base
files, change tec_forward.conf in TEC_RULES to connection_oriented.
Set the trace_level in the Event/Automation Service initialization file member IHSAINIT to OFF.
The session monitor component of the NetView program collects information about Systems Network
Architecture (SNA) sessions. The base data about a session is called session awareness (SAW) data. See
“SAW Data” on page 50 for more information. Other types of data that can be collected about sessions
include:
• Accounting data
• Availability data
• Session path information unit (PIU)
• Network control program (NCP) trace data
• Response time monitor (RTM) data
SAW Data
SAW data gives session status, session partners, and configuration data about these types of sessions:
• LU-LU
• SSCP-LU
• SSCP-PU
• SSCP-SSCP
• CP-CP
SAW data collection requires 310 to 500 bytes per session, depending on whether the session is in the
same domain, cross-domain, or cross-network.
The session monitor does not collect any other data about a session (for example, RTM or trace data) if it
does not have SAW data for the session.
You can keep SAW data selectively using either the SAW option of the KCLASS statement, the VTAM
SAW filter, or the SAW Filter Exit (DSIEX20). See “SAW Option” on page 57 for more information about
session awareness filtering.
A data space (ISTNMSDS) is used for transferring SAW data between VTAM and the session monitor.
The following VTAM start options control VTAM SAW buffering behavior. Refer to the appropriate VTAM
publication for more information on the VTAM start options.
Trace Data
The session monitor provides two trace modes:
• Global
• Specific
Global Tracing
The global trace mode traces all sessions. The TRACESC and TRACELU parameters on the INITMOD
statement in AAUPRMLP are used to specify whether global tracing is performed. These parameters are
specified with the statements as shown in the following example.
NLDM.TRACESC=YES|NO
NLDM.TRACELU=YES|NO
Selective Tracing
If you do not want to use global trace, you can specify selective trace with the session monitor TRACE
command. For example, if you want to trace only SSCP-SSCP sessions, do the following:
NLDM.TRACESC=NO
NLDM.TRACELU=NO
2. Issue a TRACE START command for each SSCP that will be in session with VTAM. Assuming three
other SSCPs whose names are CDRM1, CDRM2, and CDRM3, the session monitor TRACE commands
are shown in the following example.
You can code these commands in a NetView command list. You can also code a NetView command list
that dynamically determines the SSCPs and starts the TRACE command for them. You can issue the
VTAM display command, as shown in the following example, in a command list to identify the SSCPs.
(D NET,ID=VTAM,E)
Then issue NLDM TRACE START commands in the same command list for those SSCPs.
If your network experiences a high level of session failures, consider tracing the SSCP sessions. Using the
KEEPPIU option of the KCLASS statement, keep more PIUs for the following:
• SSCP-SSCP sessions
• SSCP-PU sessions for gateway NCPs
• SSCP-LU sessions for VTAM applications
For all other SSCP sessions, keep fewer PIUs. For networks with hung terminals and protocol problems,
consider tracing LU-LU sessions.
The type of information available from PIU tracing varies depending on the session type. The following are
some examples:
• Session initiations (INITs) for SSCP-LU sessions for applications
• Cross-network session resource allocation (RNAAs, SETCVs) for SSCP-PU sessions for gateway NCPs
• Cross-domain and cross-network session initiations (CDINITs) for SSCP-SSCP sessions
Activate trace for other session types or resources when needed to reproduce a problem or to monitor
selected sessions.
The accounting function summarizes the PIU data by session. When you use the accounting function,
specified with SESSTATS=YES in AAUPRMLP, the session monitor receives and processes the same
amount of PIU trace data as if global trace had been specified. If you specify a trace for the session
with the TRACESC or TRACELU parameters or the TRACE command, the PIU data is available for viewing
and recording. Tracing does not have to be active to use the accounting function.
If you use the availability function, specified with SESSTATS=AVAIL in initialization member AAUPRMLP,
rather than the accounting function, the session monitor does not require tracing to be active. Therefore,
the processing and storage associated with global tracing can be eliminated by specifying TRACESC=NO
and TRACELU=NO in member AAUPRMLP.
The amount of host processing required for the accounting function is similar to that required for global
trace. Global trace can require considerably more storage than accounting, however, depending on the
VTAM sends full PIU buffers unless the NetView program solicits a buffer, as it might when processing
a session-end notification or when processing an operator request. Therefore, the optimum PIU buffer
allocation depends on the rate at which session-end notifications are processed and the frequency of
operator requests for PIU trace data.
In tuning the PIU buffer allocation, determine the optimum size of the buffers for your environment. Then
adjust the number of buffers to allocate so that PIU buffers are not lost during periods of peak activity.
The SESSMDIS command and the external log record created by the NLDM RECORD STRGDATA command
provide information that you can use to tune the PIU buffer allocation for your system. The SESSMDIS
command displays session monitor traffic data and event counters, while the NLDM RECORD STRGDATA
command writes similar information to the NetView external log. The NLDM RECORD STRGDATA
command creates SMF record type 39, subvector X'0008'. See the IBM Z NetView Command Reference
Volume 1 (A-N) or the NetView online help for information about the syntax and use of those commands.
See the IBM Z NetView Application Programmer's Guide for the format of the external log record.
KEEPPIU Parameter
The KEEPPIU parameter in AAUPRMLP specifies the number of PIUs to keep for a traced session and
affects virtual storage, processor storage, and DASD storage. The value provided in the samples is 7.
KEEPPIU affects the amount of virtual storage the session monitor uses for the period a session is active,
and the amount of DASD storage used when a session is deactivated. For each PIU kept, 50 bytes of
virtual storage are used per session.
The session PIUs are kept in a wraparound area in virtual storage while the session is active and are
stored in the database when the session ends. When the first PIU for a session is received, the entire
KEEPPIU storage for that session is allocated. Specifying a large KEEPPIU value for sessions that do not
have much traffic, such as SSCP-LU and SSCP-PU sessions, could result in wasted storage. See “KEEPPIU
Option” on page 58 for information on tailoring the KEEPPIU value for different keep classes.
TRACEGW Parameter
The TRACEGW parameter in AAUPRMLP specifies whether NCP gateway trace data is to be collected for
cross-network sessions. If TRACEGW is set to YES, when the session monitor receives a session-start
notification for an NCP, it requests the NCP to collect gateway trace data for cross-network sessions that
pass through it. When cross-network sessions end, the NCP sends the data to the session monitor for
recording to the VSAM database. If you do not use this trace data for problem determination or other
purposes, you can set TRACEGW to NO and eliminate the extra processing and VSAM storage.
Keep Classes
You can use keep classes to keep selective SAW data for active sessions in addition to recording selective
session data on sessions that have ended. Keep classes can also control the amount of trace data
collected. As mentioned in “SAW Data” on page 50, if you plan to keep SAW data selectively, consider
filtering SAW data with the VTAM SAW filter.
KCLASS and MAPSESS statements are used to define the selectivity of keep classes, as shown in Figure
11 on page 57. These statements are in a separate DSIPARM data set member, which is defined by the
NLDM.KEEPMEM statement in the CNMSTYLE member.
KCLASS defines selective processing options (AVAIL, SAW, DASD, KEEPSESS, DGROUP, and KEEPPIU).
MAPSESS defines which sessions use a specified KCLASS.
KCLASS and MAPSESS definitions are loaded during session monitor initialization. You can change these
definitions dynamically using the session monitor RELOAD command to load new members. Active
sessions are not affected by the RELOAD command.
Keep-class processing is done on a session basis and options are applied when the session monitor
receives a session start. The session partner names are used as criteria to search the MAPSESS
statements until a match is found. You can use the question mark (?) and asterisk (*) for matching names
when you follow naming conventions. These are called pattern-matching or wildcard characters. The ?
wildcard character holds a place in the column, specifying that any character can be there. The * wildcard
character specifies a match with any character in the column along with any characters to the end of the
name.
CDRMnnnn
CDRM names
NCPGWnnn
Gateway NCP names
NCPnnnnn
NCP names
nnnPUnnn
PU names
nnnLUnnn
SNA LU names
nnnLUnnB
Bisynchronous LU names
The search order against the MAPSESS statements is from top to bottom. The order of the MAPSESS
statements and the accuracy of the PLU and SLU names are important. The first match is used for the
keep-class member. When a session's PLU and SLU names match a MAPSESS statement, the search ends
and the keep-class processing is determined by the KCLASS to which the MAPSESS points.
Use the session monitor DISKEEP PIU command to verify that the intended sessions are being mapped
to the desired KCLASS statements. Refer to the IBM Z NetView Installation: Configuring Additional
Components for more information about keep-class processing.
SAW Option
You can keep SAW data selectively by using either the SAW option of the KCLASS statement or the VTAM
SAW filter. If you plan to keep SAW data selectively, filter SAW data with the VTAM SAW filter. When
SAW data is filtered by the session monitor, VTAM transports the data to the session monitor, which
discards the data. Filtering SAW data with VTAM avoids the overhead of transporting the filtered data.
When sessions are filtered by the VTAM SAW filter, PIU data for the filtered sessions is not sent to the
session monitor. VTAM session awareness filtering is described in VTAM Network Implementation Guide.
If you decide to filter SAW data, use care in deciding which sessions to filter. If the SAW data for a session
is filtered, no other data can be collected for that session. Consider the following when filtering SAW data:
• SAW filtering with the session monitor KCLASS statement applies only to SSCP-LU and LU-LU sessions.
You cannot filter SSCP-PU and SSCP-SSCP SAW data for the session monitor, because session
awareness data for these sessions is required in many session monitor functions, such as the response
time monitor (RTM), gateway trace, and boundary function trace.
• The VTAM SAW filter enables you to filter SSCP-PU and SSCP-SSCP sessions. Do not filter SSCP-PU and
SSCP-SSCP session awareness data unless you are certain that you do not require this data for your
environment. If you collect RTM data using the COLLECT RTM * command, filtering SSCP-PU session
awareness for a subarea PU causes data from RTM devices in that subarea to be omitted from the
collected data.
• RTM data requires session awareness data (SAW=YES) for the related SSCP-PU, SSCP-LU, and LU-LU
sessions.
KEEPPIU Option
If you are tracing, tailor the number of PIUs kept for different session types to optimize processing and
control the amount of trace data kept. The KEEPPIU parameter value is determined as follows:
• If the KEEPMEM member has been coded and the session is mapped to a KCLASS, use the KEEPPIU
value coded on the KCLASS statements.
• If the KEEPMEM member has not been coded, use the KEEPPIU value coded on the INITMOD statement
in AAUPRMLP (or equivalent). The value in the samples is 7.
Where possible, each keep class should have a different KEEPPIU value. The PIU wrap areas for sessions
with the same KEEPPIU value are grouped on the same pages of virtual storage. Separating keep classes
by using different KEEPPIU values can improve the locality of reference for PIU data.
To minimize wasted storage, the values you specify for KEEPPIU should be even divisors of 84 (2, 3, 4,
6, 7, 12, 14, 21, 28, or 42). Avoid using values greater than 84. Larger values increase virtual storage
requirement of the session monitor and cause the PIU wrap area to span more than one page of virtual
storage, requiring a GETMAIN rather than using pooled storage. Small KEEPPIU values keep the virtual
storage requirement of the session monitor to a minimum.
The following are some suggested KEEPPIU values for different types of sessions:
LU-LU (APPL-APPL) sessions
42
LU-LU sessions for bisynchronous terminals
14
LU-LU sessions for SNA terminals
12 or 7 (depending on available storage)
SSCP-LU sessions for applications
21
SSCP-LU sessions for terminals
4
SSCP-PU sessions for gateway (GW) NCPs
84
SSCP-PU sessions for other NCPs
42
AVAIL Option
The SESSTATS and LOG parameters in initialization member AAUPRMLP specify whether session start and
session end records are written to the external log. The records are used to track session accounting
(availability and PIU counts) or session availability. If you do not need session accounting, which includes
PIU trace counts, specify SESSTATS=AVAIL on the INITMOD statement in member AAUPRMLP. If you
specify the availability option at initialization, you can define whether availability data should be kept
for a class of sessions using the AVAIL parameter on the KCLASS statement. You can use the RELOAD
command to dynamically change availability by keep class.
When global tracing is not requested (TRACESC=NO and TRACELU=NO) and the availability option is used
rather than accounting, the session monitor CPU utilization and working-set size are reduced.
DASD Option
Data for a session is written to the VSAM database when the session ends. This data includes SAW data
plus any optional trace and RTM data. For large networks or networks with a high incidence of session
ends, the processing required for data recording can be substantial. An important tuning consideration is
to evaluate your requirements and use of session history data. If there is history data you know you do not
need, filter it out using the KCLASS DASD option.
The following is the list of values for the DASD option of keep-class processing:
DASD=BINDFAIL
Record only if session fails during BIND (BINDF).
DASD=DATA
Record only if trace or RTM data is present.
DASD=FAILURES
Record if session fails or abnormal UNBIND occurs.
DASD=INITFAIL
Record only if session fails before BIND (INITF).
DASD=NO
Do not record any session data.
DASD=RTMDATA
Record only if RTM data is present for this session.
DASD=SESSFAIL
Record only if abnormal UNBIND occurs.
DASD=SESSNORM
Record only if normal UNBIND occurs for this session.
DASD=TRACDATA
Record only if trace data is present for this session.
DASD=YES
Always record the session data (default).
The following is an example of coding multiple options on a KCLASS DASD statement.
DASD=(BINDFAIL,RTMDATA,INITFAIL)
KEEPSESS Option
The KEEPSESS value for a session, specified with either the KEEPSESS parameter in AAUPRMLP or the
KEEPSESS option on the KCLASS statement, controls the number of session incidences that are recorded
on the session monitor database for a given name pair or DASD group. See “DGROUP Option” on page 61
for more information on DASD groups. The KEEPSESS value for a session is determined as follows:
• The KEEPSESS parameter on the INITMOD statement in AAUPRMLP indicates whether DASD session
wrapping is used. If you do not specify a value, the default is zero and session wrapping is not used
regardless of any KCLASS KEEPSESS values. Also, sessions will not be recorded into DGROUPs as
defined on a KCLASS statement. If you do specify a value, the value is used as the global DASD session
wrap count for sessions not mapped by MAPSESS⁄KCLASS statements and for mapped sessions having
no KEEPSESS coded.
• If the global DASD session wrap count (the KEEPSESS parameter in AAUPRMLP) is greater than zero,
the KEEPMEM member was coded, and the session is mapped into a KCLASS through a MAPSESS
statement, then the value of the KEEPSESS option that is coded on the KCLASS statement is used. If
the KEEPSESS option is not coded on the KCLASS statement, the global KEEPSESS value in the range of
1–999 is used for sessions mapping into this KCLASS.
• If the global DASD session wrap count is greater than zero, the KEEPMEM member was coded, and
the session is not mapped to a KCLASS, then the global DASD session wrap count that is coded in
AAUPRMLP is used. If the last MAPSESS statement is coded with PRI=* and SEC=* (for example,
MAPSESS KCLASS=ALLOTHER,PRI=*,SEC=*), then all sessions that do not match a previous MAPSESS
statement are mapped into the KCLASS specified (in this example, ALLOTHER).
See “Managing Database Size” on page 62 for considerations on controlling the size of the session
monitor database.
⋮
TSO KCLASS SAW=YES,+
DASD=FAILURES,+
KEEPSESS=200,+
DGROUP=(TSO,RENAME,PRI)
NETVIEW KCLASS SAW=YES,+
DASD=FAILURES,+
KEEPSESS=100,+
DGROUP=(NETVIEW,RENAME,PRI)
⋮
TSO MAPSESS KCLASS=TSO,PRI=TSO12*,SEC=*
NETVIEW MAPSESS KCLASS=NETVIEW,PRI=N2412*,SEC=*
⋮
Figure 12. Example of KCLASS and MAPSESS Statements Using the KEEPSESS and DGROUP Options
DASD Filtering
You can filter session history recording using the DASD option of the KCLASS statement, which enables
you to specify recording conditions for sessions mapped to a keep class. For example, you can record only
sessions that have RTM data by specifying DASD=RTMDATA for the keep class. See “DASD Option” on
page 59 for information about the DASD option.
You can also filter session history recording based on the sense codes and reason codes that
accompany the session awareness notification. The sense code filter consists of 25 entries in DSICTMOD
(CNMS0055). Each entry consists of an 8 byte field specifying the sense and reason codes, and a numeric
field indicating the number of bytes used for comparison in the filter. By modifying DSICTMOD, you can
filter DASD recording based on up to 25 sense codes.
To analyze your session monitor database use sample CNMSJM10, these samples print a report
containing the distribution of the sense codes on the database. Use this report to determine which sense
codes occur most frequently and where to concentrate your filtering efforts.
Filter sense codes that occur frequently and are not useful in network problem determination. For
example, X'087D0001' is a normal response to an unsuccessful cross-network session setup when you
have multiple gateways and VTAM checks an incorrect gateway name first.
Refer to the IBM Z NetView Installation: Configuring Additional Components for information about deciding
which sense codes to filter, how to add sense codes for filtering, and how to end sense code filtering.
PURGE Parameter
The PURGE parameter in AAUPRMLP is used to control writing an end-time record to the database for use
in purge processing. PURGE=SPEED (the default) writes an end-time record. Specifying PURGE=DASD
instructs the session monitor to optimize DASD space and not write the end-time record. Use the
following guidelines for tuning this parameter.
• Use the default of PURGE=SPEED if you use the PURGE command to control your database.
• Set PURGE=DASD if you use KEEPSESS, because purge processing is not done and the end-time records
are not needed.
• Use PURGE=SPEED if you use both PURGE and KEEPSESS (using KEEPSESS selectively and using purge
processing for the rest of your database). PURGE=DASD has a more adverse effect on purge processing
than the extra end-time record has on session history recording.
• Set the PURGE parameter to DASD if you use the RESETDB command. There is no need for the end-time
record in this case. Ensure that your NLDM VSAM cluster definition (CNMSI101) has the REUSE operand.
The REUSE operand is required when using the RESETDB command.
SMDR Command
You can stop session monitor data recording by using the NLDM SMDR STOP command. Do not use this
command when a purge is running, because NLDM has separate control blocks for updating and deleting
records from the VSAM database in use. When the SMDR STOP command is issued, sessions on the VSAM
Record Queue go through normal cleanup processing, but the session history data is discarded instead
SESSMDIS Command
The SESSMDIS command displays session monitor session counts, storage use, and workload traffic
information. SESSMDIS uses a view panel to display a subset of the counters that are written to the
external log with the NLDM RECORD STRGDATA command. Figure 13 on page 63 shows sample output
of the SESSMDIS command.
RTM
The number of KB of storage allocated for response time monitor (RTM) data. Modifying the
KEEPRTM parameter can change this number. The RTM wrap area for a session is allocated when
the first RTM data is received for the session. If you do not collect RTM data with the COLLECT
command, the wrap area is allocated when the RTM data is received at session termination. A
small KEEPRTM parameter is useful in that case.
RSCV
The number of KB of storage allocated for route selection control vector data.
4
VSAM Record Queue (current and maximum)
The number of sessions that have ended and are waiting to be recorded to VSAM. This number
includes sessions that might have their session history recording filtered (see “DASD Option” on page
59). Sessions that have ended spend a few seconds on the VSAM record queue so that related data
can arrive from the network. If a large number of sessions end in a short amount of time, the record
queue can build up. By repeatedly refreshing the SESSMDIS panel, you can watch the queue shrink
and grow.
5
Session monitor workload traffic counters (total and 4 second rate)
The "since" time stamp indicates when the last NLDM RECORD STRGDATA command was issued or
when the session monitor was started. The following traffic counters represent the number of traffic
items processed since the time stamp.
SAW Buffers
The number of session awareness buffers that have been processed.
Session Starts
The number of session starts that have been processed.
Session Ends
The number of session ends that have been processed.
You can use the previous three numbers to estimate the SAW buffering ratio. The buffering ratio
can be calculated by summing the starts and ends, and dividing by the number of SAW buffers.
The SAW buffering ratio is useful in tuning the SAW buffer allocation. See “SAW Buffer Allocation
and Tuning” on page 50 for more information.
PIU Buffers
The number of PIU buffers that have been processed.
PIUs
The number of PIUs that have been processed.
You can use these numbers to estimate the PIU buffering ratio and the average fullness of the
PIU buffers. For the PIU buffering ratio, divide the number of PIUs by the number of PIU buffers.
See “PIU Buffer Allocation and Tuning” on page 54 for information on estimating the PIU buffer
fullness percentage and tuning the PIU buffer allocation.
Sessions Recorded
The number of sessions for which VSAM recording has taken place (sessions that are not DASD
filtered).
You can use the number of sessions with the Session Ends count to determine the NLDM session
recording rate. If the number of sessions recorded is equal to the number of session ends,
then no sessions have DASD recording filtered. If AAUTSKLP is showing high CPU usage from
Use the SART information as a guide in setting the value of the NLDM.ERCOUNT statement in the
CNMSTUSR or CxxSTGEN member, or in the AAUPRMLP member. The complete Window SESSMDIS
output looks similar to the following example:
LUCOUNT Parameter
The LUCOUNT parameter is in the initialization member for the AAUTSKLP (default AAUPRMLP) member
and in the CNMSTYLE initialization member.
If you use the CNMSTYLE member, modify LUCOUNT in the CNMSTUSR or CxxSTGEN member instead of
in the AAUPRMLP member. The following example shows the default entry in the CNMSTYLE member:
NLDM.LUCOUNT=4000
Accurate use of the LUCOUNT parameter is pertinent for Session Monitor performance. The LUCOUNT
parameter provides the following functions:
• Specifies the number of LUs known by the session monitor. The default value is 4000.
• Optimizes control block search algorithms.
Specify the number of LUs in your network for LUCOUNT. This number should include SNA interconnection
(SNI) sessions in your network. The number you specify does not have to be exact; however, too small
a value could hinder access to session blocks and cause an increase in NLDM initialization time and CPU
usage. A value in excess of the number of LUs can result in unused virtual storage but might improve
access to session blocks. It is better to overestimate LUCOUNT than underestimate. For every 250 LUs
specified, the search tables require 4K virtual storage.
Users must use the SESSMDIS command to determine a value for LUCOUNT. After the complete network
is activated, issue the SESSMDIS command and simply add the SSCP-LU and LU-LU session counts
(maximum, not current). This value provides a conservative estimate for the LUCOUNT. As most networks
are expanding, periodically monitor the coding of LUCOUNT as previously outlined. Having a LUCOUNT
that is coded too low is a common problem and impacts your performance.
The NetView management console uses interactive graphics to display pictures, or views, that represent a
network, a portion of a network, or a group of networks at various levels of detail. These views show the
network resources and systems that you are monitoring. When you monitor a network, resource status
changes are reflected graphically in the views.
The NetView management console consists of a two tier client-server relationship.
Client and server code is installed on each workstation and runs as a Java™ application, displaying data
from RODM. The server portion of the workstation code, in turn, acts as a client requesting data from
the host NetView program. The NetView management console was adapted from the graphic data server,
therefore, most of the GMFHS code is unaffected.
Because the NetView management console function is accomplished through cooperative processing
between the host and the programmable workstation components, this section describes tuning
techniques for each component. For more information about host tuning techniques, see Chapter 7,
“Tuning for the NetView Management Console,” on page 69.
Storage Estimates
To ensure optimum performance of the workstation-based components of the NetView management
console, minimize the amount of paging and swapping that can occur. You can do this by providing as
much memory as will be used on a regular and consistent basis. There must be enough workstation
memory to consistently contain the working set. If severe memory constraints exist, abends can occur.
Hardware Requirements
This section lists hardware requirements for the following environments:
• “Intel Platform Workstations” on page 70
• “UNIX Platform Workstations” on page 70
• “Servers and Consoles” on page 70
Client Performance
If many resources are in the views displayed at a client workstation, consider using a high-performance
processor for this client workstation. The activity of drawing and redrawing the views can take
considerable amounts of processor resources. This resource use can be particularly high when view
navigation is necessary during the arrival and display of a large number of resource status updates. This
situation is likely when a large burst of status changes occurs, such as during network activation.
Ensure that the minimum hardware requirements, as outlined in the Z NetView Program Directory are met.
If the CPU and storage requirements are not met, then performance degradation will occur.
To minimize the number of resources actively displayed at a client workstation, use views containing
aggregate resources that represent the real resources you are monitoring. From aggregate resources, you
can navigate to views containing failing resources by using the fast path to failing resource feature. You
can customize the effect real resources have on an aggregate resource. Refer to the IBM Z NetView User's
Guide: NetView Management Console for information about view navigation and adjusting aggregation for
a resource.
Closing views that you are no longer using helps to ensure that client workstation resources are available
to handle a burst of client activity.
If you use the Cycle Windows window to cycle through views you have open for monitoring, lower values
for the cycle delay interval will result in higher view drawing activity.
Server-Client Configurations
Because the IP communication feature is being used as the communication vehicle for the NetView
management console, you can connect console workstations with the server workstation in a number
of ways. For example, you can have the server workstation attached to a token ring and in session with
console workstations on the same ring. The client workstation can be anywhere that an IP session can
be established. Also, all NetView management console workstations can be combined server-console
workstations.
When you select the workstation server-console configuration, several factors can affect the overall
performance. The server workstation maintains an in-storage database of the current network resource
status for opened views. The activity associated with resource status changes is both CPU and memory
intensive. The server workstation should be used as a standalone server workstation. Do not monitor
views that can be subject to continuous or large bursts of status update activity because updating the
graphical views is CPU intensive. Also, ensure that other applications that might be running on the server
and console workstation are not CPU and memory intensive.
NETCONV
You can use either IP or LU 6.2 with the NETCONV command. If you are using LU 6.2, establish an LU
6.2 communication session between the status focal point host and server workstation. When this session
is established, the status focal point forwards the current status of all monitored resources to the server
workstation.
If the NETCONV command is issued before the network is activated, the focal point forwards the initial
status (never active) of all the monitored resources to the server workstation. When the network is
activated, the current status of all monitored resources is also forwarded to the workstation.
Issue the NETCONV command after network activation to avoid processing multiple status updates at
network activation time and reduce elapsed time for status display.
See the IBM Z NetView Command Reference Volume 1 (A-N) or the NetView online help for more
information about using the NETCONV command.
DUIGINIT Parameters
The following parameters in DUIGINIT (the GMFHS initialization member) affect the NetView
management console performance:
• LCON-STATUS-DELAY-MAX (The default value is 10.)
• LCON-STATUS-DELAY-TIME (The default value is 50.)
• LCON-EVCHANGE-BUFFER-INTERVAL (The default value is 500 [5 seconds]).
• LCON-AGG-BUNDLE-INTERVAL (The default is 500 [5 seconds]).
Use the following procedure to change the parameters:
• Reduce all parameters simultaneously
• Recycle GMFHS
• Monitor the NetView management console performance to determine if the changes have improved the
NetView management console performance.
Refer to the IBM Z NetView Administration Reference for more information about these parameters.
The NetView Resource Object Data Manager (RODM) is a data cache that is designed to store network
configuration and status information about system resources. You can use RODM to automate network
management functions associated with the resources defined to RODM. In addition, you can write RODM
applications to perform other network management and automation tasks.
For more information on the object-oriented terms used by the NetView program to describe RODM and
its data model, see the IBM Z NetView Resource Object Data Manager and GMFHS Programmer's Guide.
Tuning Techniques
The following major tuning techniques for RODM are described in this chapter:
1. Keep RODM logging to a minimum for production systems by using LOG_LEVEL 8. See “Customization
Parameters” on page 79.
2. See “Estimating Storage Usage” on page 115 to determine virtual storage use and DASD space
requirements for the checkpoint data sets. See “RODM Data Sets” on page 74. Ensure that the
MVS system has an adequate paging system. If your system is storage-constrained, consider moving
workloads to other systems or enhancing the MVS paging system.
3. Checkpoint RODM whenever there have been significant changes to the structure or topology of the
objects in RODM, such as after loading objects with the loader facility. Do not use checkpoints to
capture the status of objects in RODM. When a RODM warm start is performed, the RODM applications
which created the objects should update the object status when the application is initialized after the
RODM warm start. A warm start is relatively fast. See “Warm Start and CHKPT Commands” on page
73.
4. Generate RODM API statistics to analyze the content and activity of RODM. See “RODM API Statistics”
on page 74.
5. Generate RODM cell pool statistics to analyze the storage usage of RODM. See “RODM Cell Pool
Statistics” on page 76.
6. Specify a minimum number of CONCURRENT_USERS. Extra storage is required for each user. See
“Customization Parameters” on page 79.
7. Run RODM at the same dispatching priority as the NetView program.
8. If you are writing a RODM application, see “Programming Recommendations” on page 79.
9. The maximum number of objects supported is 2 097 135. For objects typical of the topology and
status monitoring of the NetView program, the operational number of objects is estimated to be
1 500 000. No code changes have been made to increase the number of classes and the number of
fields supported by RODM.
Note: To use the larger limit on the number of objects, you must cold start RODM. Otherwise, the
original limit is used if RODM is warm started. When RODM was cold started and a checkpoint was
taken, subsequent warm started instances of RODM continue to use the new maximum number of
objects.
Figure 14. RODM Log Record Type 8 for API Statistics (Part 1 of 2)
Figure 15. RODM Log Record Type 8 for API Statistics (Part 2 of 2)
If you specify the CLEAR option when writing the API statistics, the regular count data counters are reset
to zero after being written to the log (the permanent count data counters are not affected by the CLEAR
option). You might find it convenient to write the API statistics on a timer basis using the NetView EVERY
command. If you use the CLEAR option to clear the counters each time you write them, the counters show
which API calls were made during the timer interval. Clearing the counters periodically also ensures that
the counters do not overflow.
See the IBM Z NetView Troubleshooting Guide for a description of all of the fields in RODM log record type
8.
Figure 16. RODM Log Record Type 8 for Segment and Window Statistics
The following describe the segment and window statistic fields in log record type 8, which is shown in
Figure 16 on page 77.
NO. OF ENTRIES
Specifies the number of entries in the cell pool array.
CELL SIZE
Specifies the cell size in bytes as defined in member EKGCUST.
POOL SIZE
Specifies the number of 4 KB pages that are allocated when a pool extension is needed (defined in
member EKGCUST).
NO. IN USE
Specifies the number of cells that are unavailable.
HIGH WATER MRK
Specifies the high-water mark for in-use cells.
IN USE PERCENT
Specifies the percentage of in-use cells.
TOTAL INUSE %
Specifies the percentage of total cells in use.
HIGH-WATER %
Specifies the percentage for the high-water mark.
The histogram data can be used to tune the customizable cell pool sizes. To evaluate the histogram data
for Figure 17 on page 78:
1. Subtract the previous cell size from the current cell size (64 - 48 = 16). This is the size of the range of
storage requests that are serviced by this cell pool.
2. Divide the result by 8 (16 / 8 = 2). This is the size of the range of storage requests for each of the eight
counters in the histogram data.
3. Add 1 to the position value (0–7 becomes 1–8).
4. Multiply each position in the histogram by the result from “2” on page 78:
1×2=2
2×2=4
3×2=6
4×2=8
5 × 2 = 10
6 × 2 = 12
7 × 2 = 14
8 × 2 = 16
5. Add these results to the previous cell size (48) to get the maximum storage request size counted in
each histogram position:
Customization Parameters
The defaults supplied with the NetView program in EKGCUST are adequate for most systems. However,
you can alter the following settings to meet your specific requirements.
• The number of CONCURRENT_USERS is initially set to 10. You might need to increase this value, but do
not make it unnecessarily high because extra storage is required for each user.
• The number of ASYNC_TASKS is initially set to 5. To save storage, you can decrease this value to 2.
• LOG_LEVEL is initially set to 8 (record errors only). This is preferred for a production environment where
more than one RODM API call a second is anticipated. If the log levels were changed on a test system
for debugging purposes, consider changing LOG_LEVEL and MLOG_LEVEL back to 8 when switching to
production.
• Method tracing should be done only for problem solving, not during production. Set MTRACE_TYPE to
X'00000000' to disable method tracing.
Programming Recommendations
This section contains programming recommendations for those writing RODM applications.
• Keep the number of RODM API calls to a minimum.
• When possible, use the following to combine multiple operations into a single API call:
Input/output (I/O), specifically direct access storage device (DASD) I/O, is a major concern of
performance and tuning, especially in a NetView environment. For databases, the NetView program uses
VSAM data sets. The NetView program records messages to a log data set. The NetView program puts
session data into a session monitor database, and network events and statistics into a hardware monitor
database.
Tuning Techniques
Following are the major VSAM tuning techniques, arranged in order of expected effect on performance,
with the most important tuning considerations listed first. These are described in detail in this chapter.
1. Use the CISIZE values that are used in the sample cluster definitions for best performance. Do not use
the same CISIZE values for the hardware monitor and session monitor databases.
2. Start with the default LSR buffer pool allocations, and monitor the buffer miss percentage with the
VSAMPOOL command. Increase the number of buffers for individual pools where needed, and reduce
the number of buffers for pools that are not used frequently. See “Local Shared Resources (LSR) and
Deferred Write (DFR)” on page 81 and “VSAMPOOL Command” on page 87.
3. Use the DBAUTO command to reorganize databases that are not deleted and redefined regularly. See
“ VSAM Database Maintenance” on page 88.
4. Consider using the deferred write (DFR) performance option for the hardware monitor facility database
to reduce I/O activity. The sample definitions for the session monitor database have DFR specified
already. See “Local Shared Resources (LSR) and Deferred Write (DFR)” on page 81.
5. Monitor VSAM database performance using the LISTCAT and VSAMPOOL commands. See “Monitoring
VSAM Performance” on page 84.
If the NetView program ends without closing the databases, the records in the DFR buffers are not written
to the databases.
If you specify DFR, you get both the LSR and DFR options.
Do not cancel the NetView program except as a last resort. If you must issue a FORCE command, try
to close the databases by issuing the NetView SWITCH command with the T option. This closes the
active database and does not perform a switch. If this procedure does not work, issue the NetView STOP
FORCE command for each active VSAM task. If you must use the MVS FORCE command to bring down
the NetView program and you have specified DFR, you might have to delete and redefine the affected
databases. The exposure of having records not written to the databases is minimized by the extended
DSTINIT MACRF=xxx
Note: The CISIZE values specified for the data and index components in the samples that are included
with the NetView program are based on using an IBM 3390 (using ICF catalogs). Because of the higher
capacity of the 3390, different data buffer selections were made. These new selections result in a new
index control interval size for one cluster. If other types of devices are used to allocate these clusters,
these operands might need to be adjusted for optimal use of the device.
LSR is the default for the hardware monitor database. Consider using DFR for these databases, because
DFR gives better performance. LSR is used in the samples because some environments cannot tolerate
losing records in the hardware monitor database, even though the possibility is remote.
Do not use LSR or DFR for the network log. The DSILOG task buffers records before writing them to DASD.
Log browse does not work if LSR or DFR is used for the network log.
Figure 18. Sample BLDVRP Macros Defining VSAM Buffer Pools for CNMSJM01
Note:
The buffer sizes in DSIZVLSR correspond to the default index and data CISIZE values, which are based on
using 3390 DASD (using ICF catalogs).
If there are buffer sizes defined in DSIZVLSR that none of your databases use, remove them to decrease
storage usage. Use the VSAMPOOL command to monitor usage of the LSR buffer pools. See “VSAMPOOL
Command” on page 87.
KEYLEN Parameter
The KEYLEN parameter specifies the maximum key length of the data sets that share this pool. This
keyword should be specified only on the data pool.
STRNO Parameter
The STRNO parameter specifies the potential number of requests, in the range of 1–255, that can be
issued concurrently for all the data sets sharing the resource pool. Set STRNO to the total of all the
DSRBO values for data services tasks that use the LSR resource pool. The sample value of 40 is sufficient
for most environments. If you modify the DSRBO values for some of the DSTs, ensure that you adjust the
STRNO parameter accordingly.
BUFFERS Parameter
The BUFFERS parameter specifies the size and number of buffers in each buffer pool in the resource
pool. When you open a database and specify LSR or DFR, VSAM looks for a buffer pool for the INDEX and
DATA components, depending on their control interval sizes. A buffer pool that is the same size as the
control interval is chosen. If a buffer pool with the same size has not been defined, the next higher buffer
pool size is chosen. Databases with the same control interval sizes share the same buffer pool. Allocate
enough buffers of a particular size to satisfy all DSTs sharing the buffer pool.
LISTCAT Command
The LISTCAT command displays VSAM database definition and performance data for NetView data
services tasks that have open VSAM databases. The information is similar to the data from the access
VSAM ACB Options: LSR, DFR, ADR, KEY, SEQ, DIR, OUT 1
Cluster Information: 2
DDNAME: BNJLGPR KEYLEN: ..........76 RKP: ...........0
BSTRNO: ...........0 STRNO: ..........11 STRMAX: ...........2
BUFSP: ...........0
DATA Component Information: 3
LRECL: ........4086 CINV: .......18432
BUFND: ..........12 BUFNO: ...........0
NEXT: ...........2 FS: ...........8
NCIS: ........1130 NSSS: ..........49
NEXCP: ........8588 NLOGR: .......60326 NRETR: .......21326
NINSR: .......70595 NUPDR: .......10569 NDELR: .......10278
AVSPAC: ....12390400 ENDRBA: ....28672000 HALCRBA: ....29245440
INDEX Component Information: 4
LRECL: ........2553 CINV: ........2560
BUFNI: ...........0 BUFNO: ...........0
NEXT: ...........3 NIXL: ...........2
NEXCP: ........2214 NLOGR: ..........51
AVSPAC: ........2560 ENDRBA: ......130560 HALCRBA: ......133120
VSAMPOOL Command
The VSAMPOOL command displays statistics about NetView VSAM resource pool utilization when the
NetView program has been defined to use local shared resources (LSR) or deferred writing of records
(DFR). The LSR resource pool is subdivided into buffer pools determined by control interval sizes. You
define the LSR resource pool and buffer pools with the DSIZVLSR module. See “Definitions for LSR and
DFR” on page 82 for more information.
VSAMPOOL lists all of the buffer pools that are using LSR and DFR. The output shows the total usage
per control interval size (CINV). The display shows separate statistics for the DATA and INDEX VSAM
LSR/DFR buffers that were defined in DSIZVLSR. Figure 20 on page 87 shows a sample of output from
the VSAMPOOL command.
Figure 20. Sample Output from the VSAMPOOL Command Using 3390 DASD
The following information is displayed for each buffer pool (see Figure 20 on page 87).
CINV
Control interval size (or buffer size) for the buffer pool
BUFNO
The number of buffers in the buffer pool
BFRFND
The number of requests for retrieval that could be satisfied without an I/O operation (the data was
found in a buffer)
BUFRDS
The number of reads to bring data into a buffer
NUIW
The number of non-user initiated writes (writes that VSAM was forced to perform because no buffers
were available for reading the contents of a control interval)
UIW
The number of user-initiated writes (PUTs not deferred or WRTBFRs)
ERCT
The number of write errors that have occurred
The VSAMPOOL command is useful in tuning the size of the LSR buffer pools.
The most useful statistic is the lookaside hit ratio, which is calculated as follows:
The lookaside hit ratio gives an indication of the adequacy of the LSR buffer allocation. The optimal
lookaside hit ratio depends on your environment. Consider the following in general:
• For data buffers, the lookaside hit ratio should be 1 or greater; values higher than 5 are unusual for
databases with high activity.
• For index buffers, the lookaside hit ratio should be 10 or greater. The number of buffer finds (BFRFND)
should be at least 10 times greater than the number of buffer reads (BUFRDS). The higher the lookaside
hit ratio, the better.
The following approach is suggested for tuning the allocation for the LSR buffer pools:
• Remove buffer sizes that are not used to save storage.
• For buffer sizes that are used infrequently, consider reducing the number of buffers to save storage.
• For frequently used buffer sizes, increase the number of buffers if the lookaside hit ratio is less than 10
for index buffers, or less than 1 for data buffers.
• When increasing the buffer allocation:
1. Monitor the lookaside hit ratio for the current buffer pool allocation.
2. Increase the number of buffers in one or more of the buffer pools. The new buffer allocation does not
take effect until the NetView program is stopped and restarted.
3. Monitor the lookaside hit ratio for the new allocation.
4. Repeat steps 2 and 3 until the lookaside hit ratio does not improve with an increase in the number of
buffers for the buffer pool.
• When decreasing the buffer allocation:
1. Monitor the lookaside hit ratio for the current buffer pool allocation.
2. Decrease the number of buffers in one or more of the buffer pools. (The new buffer allocation does
not take effect until the NetView program is stopped and restarted.)
3. Monitor the lookaside hit ratio for the new allocation.
4. Repeat steps 2 and 3 until the lookaside hit ratio degrades noticeably with a decrease in the number
of buffers for the buffer pool.
Note: You must monitor the VSAM buffer pool usage using the VSAMPOOL command. This command
determines whether the initial VSAM buffer allocations are sufficient. It is also a simple tool for
monitoring buffer usage after any changes are made. Run the VSAMPOOL command on a timer every
hour when changes are made, and use the procedure previously outlined to verify that performance is
acceptable.
Tuning Considerations
The tuning considerations are arranged in order of expected effect on performance, with the most
important listed first. These, along with other performance considerations, are described in detail in this
chapter.
• Do not use a STEPLIB DD statement in your production NetView job control language (JCL). A STEPLIB
statement can cause unnecessary I/O during NetView execution. See “STEPLIB DD Statements” on
page 107.
• Use the TASKUTIL command to monitor NetView task utilizations, queue lengths, storage use, and
active command lists. See “TASKUTIL Command” on page 109.
• To optimize performance for command security authorization, use AUTOSEC=BYPASS and SEC=BY on
CMDDEF statements for commands that do not require security checks. See “Command Security ” on
page 95.
• Use the OMIT operand of the STATOPT statement to control the storage requirement of the status
monitor. See “Status Monitor STATOPT Filtering” on page 107.
• Use the high performance transport instead of the management services transport for LU 6.2
communication when possible. See “LU 6.2 Transport” on page 99.
• To improve CPU usage when using installation exits, do not use dummy exits, and optimize the
performance of frequently invoked exits. See “Installation Exits” on page 98.
• Decide whether to use persistent or nonpersistent sessions for NetView-NetView communications.
Persistent sessions are preferred for all but very low traffic environments. See “Persistent and
Nonpersistent LUC Sessions” on page 103.
• You might be able to shorten the path length required to perform span of control verification by
migrating to the NetView span table. For information on implementing the NetView span table, refer to
the IBM Z NetView Security Reference.
• Use the DSRBS command to monitor the DSRB allocations for the NetView data services tasks (DSTs).
See “Data Services Request Blocks (DSRBs)” on page 97.
• To save storage, delete command definitions relating to NetView functions that you do not use. See
“Minimizing Storage Usage” on page 135.
• Do not specify the MAXSESS keyword on the CNMAUTH statement in DSILUCTD. This enables the
NetView program to allocate as many LUC sessions as it needs for alert forwarding, remote database
retrieval, and status forwarding. See “MAXSESS Keyword” on page 100.
• To reduce processor usage, consider limiting NCCF TRACE options. See “NCCF TRACE Options” on page
100.
Browse
If you have storage limitations, control the use of the data set member browse function because it reads
the entire data set member into storage. See “Estimating Storage Usage” on page 115 for the storage
required for the data set member browse function.
Note: This consideration does not apply to browsing the network log.
Using the BROWSE command, you can browse members on a remote NetView system. When a cross-
domain browse request is processed, the RMTCMD command is used internally to satisfy the request.
The RMTMAXL parameter of the DEFAULTS and OVERRIDE commands specifies the maximum number
of lines transferred for a cross-domain member browse request. If the remote member contains more
than the maximum number of lines, the BROWSE command continues with the permitted number of lines,
and message CNM206I is issued. The BROWSE command uses the RMTMAXL setting of the operator
issuing the cross-domain browse request. A large value for RMTMAXL allows a cross-domain member
browse request to return large amounts of data, but can cause delays with other RMTCMD LU 6.2
communications. The default value of RMTMAXL is 2500 lines.
Canzlog Archiving
When you set up archiving of Canzlog data, consider the following items:
• “Canzlog Data Set Characteristics” on page 93
• “Canzlog Data Access” on page 93
• “Canzlog Archive Storage Requirements” on page 93
Command Security
This section discusses certain considerations for achieving maximum performance of NetView when
security checks are run against commands. There are two different methods of command security in
NetView: the NetView command authorization table and a system authorization facility (SAF) product,
such as RACF®. See the IBM Z NetView Security Reference for more information about command security.
• When migrating to the SAF NETCMDS class or the NetView command authorization table with
the SECMIGR command, excess statements might be generated which can be deleted to (slightly)
improve performance. When the SECMIGR tool generates statements equivalent to scope KEYCLASS
statements, and a VALCLASS statement is not specified for the keyword, a statement is generated to
cover any specified values. For keywords that cannot have values, this statement can be safely deleted.
For example, because the AUTOTBL OFF keyword has no value, statements generated for a command
identifier of netid.luname.AUTOTBL.OFF.* can be safely deleted.
• Processing generic command identifiers is the most performance intensive part of searching the
command authorization table. If you are using generic command identifiers (wildcards) in the command
authorization table, you can code specific command identifiers on EXEMPT statements for commands
that do not need protection. Using specific (not generic) PROTECT statements for frequently used
commands should also be helpful.
Command Statistics
Enabling the Command Statistics function introduces some overhead. To minimize the overhead, consider
the following items:
• Run command statistics with the PRIONLY option.
• Limit the commands that are monitored by configuring an inclusion and/or exclusion list in the
Command Statistics Inclusion/Exclusion (CNMSCSIE) sample.
• Dynamically enable and disable the command statistics function with the CMDMON STATS=ALL/
PRIONLY and CMDMON STATS=OFF commands if you are using the function only for problem diagnosis
for one or more commands.
• Specify a minimum value of 10000 for the CMDMON.DATA.MAXRECS statement in your CNMSTUSR or
CxxSTGEN member.
– If you have storage limitations, each command statistics record uses 108 bytes of storage.
• If you don’t need to retrieve Command Statistics data from SMF logs, set LOGSMF=NO for the CMDMON
command, or specify CMDMON.INIT.LOGSMF=NO statement in CNMSTYLE to disable SMF logging.
• Specify a shorter interval in the SMF SMFPRMxx parmlib member if you need to retrieve Command
Statistics data from SMF logs, which can improve the storage efficiency when writing SMF records.
Installation Exits
This topic provides performance considerations for using exits.
• For most OST-type exits (DSIEXxx), a LOAD FAILED message is issued if the exit is not found. Using
dummy exits would prevent this message, but degrade system performance by causing the NetView
program to process instructions to set up a call to the dummy exit every time the exit is driven, therefore
unnecessarily using CPU.
• Coding exits for frequently called exits also degrades performance on systems with heavy message
loads, especially if the exits are coded in C or PL/I. C has a greater initialization overhead than PL/I. If
you code very frequently called exits, consider using Assembler.
• If you use the BLOG command list, be aware that DSIEX18 is run under the browse task to match the
search arguments specified in the BLOG input. If you have a large log and the search string matches
only a small number of records, the forward or backward function key causes the log to be searched
until enough records matching the string are found to fill the screen. This could mean that thousands of
records will be searched before enough matches are found to fill the screen, while resulting in a large
amount of processing time being used.
LOGTSTAT Command
The LOGTSTAT command can be used to write task utilization data to the System Management Facility
(SMF) log. You can use the LOGTSTAT command to create a record for one specified task, or for all tasks
that were running at the time when the LOGTSTAT command was issued. If LOGTSTAT is used to generate
records for all tasks, an SMF record is written for each task that is active.
LOGTSTAT data can be useful in determining task start and end times. It also provides some Resource
Limits data similar to that produced using TASKMON. Specific system storage usage for a task from
startup to termination or for a known time interval can be determined from the LOGTSTAT data as well.
For more information, see the IBM Z NetView Command Reference Volume 1 (A-N) or the NetView online
help.
CMDDEF.clistnameL.MOD=DSICCP
The presence of the CMDDEF statement eliminates I/O to the command list data set (DSICLD) to verify
the existence of the reply processor before the request is sent.
• The NetView constants module (DSICTMOD) contains an entry for the LU 6.2 transport support. This
entry specifies the number of LUs with which you expect to have sessions. This value is used to optimize
control block access. The default value is 2000. If you expect to have more partner LUs than the default,
change this value in DSICTMOD. The number you specify does not need to be exact, but too small a
number hinders access to control blocks. A value in excess of the expected number of partner LUs can
result in unused virtual storage, but can improve access to control blocks. In general, it is better to
overestimate than underestimate. See the IBM Z NetView Installation: Getting Started for information
about changing and relinking DSICTMOD.
• The high performance transport enables applications to specify their logmode when they register.
Sample logmode definitions are contained in member CNMS0001. Logmodes have an RUSIZES
parameter that you can use to specify the maximum size of data in bytes that the LUs can send. The
default RUSIZES parameter for LU 6.2 applications is 8585. The first two numbers are for the primary
LU, and the second two numbers are for the secondary LU. Each pair of numbers represents a mantissa
and an exponent, as follows:
M × 2N
The default 8585 means that both the primary and secondary LU can send a maximum of 8 x 25, or
256 bytes. Adjust the RUSIZES parameter appropriately for your LU 6.2 applications. The RMTCMD
command uses the PARALLEL logmode (in CNMS0001), which uses RUSIZES=8787 (or 1024 bytes).
CMDDEF.DSINVGRP.RES=Y
Making this command processor resident avoids the I/O needed to load the command processor every
time the generic automation receiver processes a message or MSU.
MAXSESS Keyword
You can use the MAXSESS keyword on the CNMAUTH statement in DSILUCTD to restrict the number of
cross-domain sessions the NetView program can set up to an adjacent domain. The value for MAXSESS, if
specified, can be in the range 1-65535. The value in the samples is 10.
If you do not specify the MAXSESS keyword, the NetView program allocates as many sessions as it needs
for alert forwarding and remote database retrieval for the hardware monitor and session monitor. Do
not specify a value for MAXSESS unless you need to restrict the number of cross-domain sessions the
NetView program can set up.
If you use nonpersistent sessions, do not specify a value for MAXSESS, because any idle sessions are
brought down.
If you must specify a value for MAXSESS, use the following formula to calculate a value:
If the MAXSESS value is exceeded, an SDOMAIN (set domain) command from the session monitor and
hardware monitor can fail and alerts might not be forwarded.
If an SDOMAIN command fails, message DSI784 is issued.
NetView-NetView Communication
You can use the RMTCMD command to send commands to another NetView program and receive
responses, and to query details about RMTCMD associations. The RMTCMD command offers the following
advantages over NetView-NetView (NNT) sessions and the ROUTE command.
• The RMTCMD command consolidates the LU-LU communications from multiple operators by sending
commands to a remote NetView program using a pair of LU 6.2 sessions. This saves storage and
processing time for setting up sessions, and for maintaining session awareness in VTAM and the session
monitor. A separate session is not needed for each operator.
• The RMTCMD command uses large buffers and RU sizes, improving performance for operators receiving
large multiline messages.
Another command, DISBQL, displays buffer queue limits and the number of buffers currently available on
the buffer queue. You can use the SETBQL command to reset the buffer queue limit of a receiver.
The program-to-program interface trace facility enables you to set up a trace in the program-to-program
interface for either an individual receiver or all current and future receivers. The program-to-program
interface trace facility writes a trace record each time a user defines, deactivates, or deletes a receiver
to the program-to-program interface and each time a buffer is sent or received. You control the program-
to-program interface trace facility with the TRACEPPI command. You can use the TRACEPPI command
to start, stop, modify, or end the program-to-program interface trace facility. See the IBM Z NetView
Command Reference Volume 1 (A-N) or the NetView online help for more information about the TRACEPPI
command.
See the IBM Z NetView Application Programmer's Guide for detailed information about the NetView
program-to-program interface.
The command list data set (DSICLD) is the most critical data set from a performance standpoint.
Each time a command list is selected for execution, it is located and read from that data set (unless
it is preloaded by LOADCL). A normal BLDL search of the partitioned data set directory is done to
find the command list, enabling you to make command list changes dynamically. Usually, DSICLD is a
concatenation of several data sets that can be on different direct access storage device (DASD) volumes.
Define the command list data sets with one extent and ensure that the extent will not fill up over the time
the NetView program is running. If a data set expands to multiple extents after the NetView program is up
and running, attempts to access members newly placed in the additional extents can cause I/O errors.
Retrieval time for command lists is an important consideration in command list performance. You can
avoid physical I/O either by preloading command lists using the LOADCL command or by using a virtual
I/O data set for DSICLD. If you cannot use either of those options, you can minimize physical I/O response
time by placing DSICLD on a cached DASD device. If some of your command lists are on cached DASD and
you have multiple volumes, put the cached volumes first in the DD definition list for DSICLD.
You can create temporary VIO data sets by placing an IEBCOPY statement in the NetView startup
procedure, which copies the command lists to a VIO data set and passes that data set on to the NetView
program. When you use these temporary data sets, you cannot dynamically change the command lists.
You must restart the NetView program to include the changes.
If you use panels extensively, you can reduce I/O delays by placing the panel data sets in a VIO data set.
However, you cannot change such panels dynamically.
RESOURCE Command
The RESOURCE command displays statistics about NetView system resource use. This information is
helpful in determining the amount of system resources used by the NetView program. Figure 23 on page
104 contains sample output from the RESOURCE command.
The following information is displayed in the command output (see Figure 23 on page 104).
1
Total CPU Utilization
Total complex CPU utilization based on a maximum of 100%. This utilization is calculated over the
most recent 1 second interval.
2
NetView CPU Utilization
NetView CPU utilization based on a maximum of 100%. This utilization is calculated over the most
recent 1 second interval.
3
NetView CPU Time Used
The combination of task control block (TCB) and service request block (SRB) CPU time used. This field
is cumulative from when the NetView program was first started.
4
Real Storage In Use
The number of real storage frames that are in use (shown in kilobytes).
This value includes the number of real storage frames that are in use for both the storage that is
allocated in the NetView address space and the data spaces that are owned by the NetView program.
5
Private Allocated Below 16 M
The amount of virtual storage allocated below the 16 MB line.
Resource Limits
Use the NetView resource limits function to monitor and limit resource usage for various NetView tasks.
You can obtain information that you can use to plan for and tune the NetView program. You can then
adjust keywords according to the amount of storage consumed, CPU used, and other factors.
STEPLIB DD Statements
Do not use a STEPLIB DD statement in your production NetView job control language (JCL). The presence
of the STEPLIB DD statement causes its directory to be searched for each LOAD, LINK, or XCTL system
macro executed during normal operation. That directory search degrades the performance of command
procedures.
Place the NetView load libraries on the system's LINKLST. See IBM Z NetView Installation: Getting Started.
For considerations on placing the HLL runtime libraries, see “Command Processors” on page 31.
TASKMON Command
The TASKMON command is a REXX procedure that provides color-coded monitoring of all NetView tasks.
The output under each group is sorted by the severity index. The Severity Index represents a percentage
of the maximum value allowed. Usage of TASKMON is similar to TASKUTIL usage. You can use the data
shown in the TASKMON output to view current and historical data on Resource Limits.
Color codes used by the TASKMON command:
White
SLOWSTG limit exceeded
Yellow
70% of limit for this line exceeded
Pink
80% of limit for this line exceeded
Red
90% of limit for this line exceeded
TASKMON provides statistics based on CPU percentage used on a single processor. TASKUTIL provides
statistics based on CPU percentage for the sum of all defined processors, for example, a sysplex with six
CPUs dedicated to the NetView program.
To issue a TASKMON command, enter:
Note: The output under each group is sorted by the severity index. The Severity Index represents
percentage of the maximum value allowed, or if no limit, the maximum value measured for any task.
The command WINDOW TASKMON * * (TAKE 4 produces a panel that displays the highest four tasks in
each of the measured categories. The WINDOW refresh function key can be used to see updated values.
TASKMON output is color coded based on severity.
For more information on using the TASKMON command and its operands, see the IBM Z NetView
Command Reference Volume 1 (A-N) or the NetView online help.
TASKUTIL Command
The TASKUTIL command displays task performance information, including central processing unit (CPU)
utilization, queue lengths, storage use, and active command lists. This command is for NetView diagnosis
and tuning purposes only.
The TASKUTIL command has three parameters:
TYPE
Specifies the type of NetView task:
ALL
All active NetView tasks. ALL is the default.
AUTO
NetView automation operator station tasks started with the AUTOTASK command. This does not
include operator station tasks (OSTs) or distributed automation tasks (DISTs).
DIST
NetView distributed automation tasks started with the RMTCMD command. This does not include
OSTs or autotasks.
TASKUTIL TYPE=DST
DWO022I
TASKNAME TYPE DPR CPU-TIME N-CPU% S-CPU% MESSAGEQ STORAGE-K CMDLIST
-------- ---- --- ------------ ------ ------ -------- --------- --------
AAUTSKLP DST 249 22019.13 49.02 9.37 0 87521 N/A
BNJDSERV DST 250 4466.25 7.35 1.41 0 357 N/A
DSIELTSK DST 253 4731.99 7.24 1.38 0 31 N/A
DSICRTR DST 251 1362.16 1.97 0.38 0 32 N/A
DSILOG DST 254 624.64 1.40 0.27 0 23 N/A
DSIAMLUT DST 248 1145.74 1.34 0.26 0 26 N/A
AAUTCNMI DST 249 94.44 0.33 0.06 0 463 N/A
CNMTAMEL DST 249 0.36 0.00 0.00 0 49 N/A
CNM01LUC DST 251 306.54 0.00 0.00 0 43 N/A
DSIGDS DST 254 1.89 0.00 0.00 0 46 N/A
DSIHPDST DST 252 2.15 0.00 0.00 0 39 N/A
DSIKREM DST 250 2.15 0.00 0.00 0 549 N/A
DSIROVS DST 251 0.03 0.00 0.00 0 13 N/A
DSISVRT DST 253 0.93 0.00 0.00 0 105 N/A
DSIUDST DST 250 2.59 0.00 0.00 0 14 N/A
DSI6DST DST 251 28.98 0.00 0.00 0 41 N/A
NETVIEW OTHR N/A N/A 0.00 0.00 N/A N/A N/A
NETVIEW SRB N/A 4026.90 5.93 1.13 N/A N/A N/A
NETVIEW TOTL 157 54766.96 100.00 19.11 253 157477 N/A
SYSTEM TOTL N/A N/A N/A 63.70 N/A N/A N/A
The numerator represents the task control block (TCB) time used by the task during the measurement.
The denominator represents the total CPU time (TCB time + system request block (SRB) time) used by the
NetView program during the measurement. Multiplying the result by 100% expresses the utilization as a
percentage.
The numerator represents the TCB time used by the task during the measurement. The denominator
represents the total CPU time that was available during the measurement (the total capacity of the host
processors). The measurement duration must be expressed in seconds. Multiplying the result by 100%
expresses the utilization as a percentage.
OTHR CPU TIME=TOTAL CPU TIME - SRB CPU TIME - (Sum of CPU TIME for each active task)
When the NETVIEW OTHR CPU-TIME value is calculated, it is used in the numerators of the N-CPU% and
S-CPU% formulas to calculate the NETVIEW OTHR N-CPU% and S-CPU% utilization values.
The SYSTEM TOTL CPU utilization is the same result as the TOTAL CPU % field reported by the
RESOURCE command, except that the RESOURCE command uses a 1 second measurement duration.
See “RESOURCE Command” on page 104 for more information.
DWO022I
TASKNAME TYPE DPR CPU-TIME N-CPU% S-CPU% MESSAGEQ STORAGE-K CMDLIST
-------- ---- --- ------------ ------ ------ -------- --------- --------
AAUTSKLP DST 249 23907.17 64.62 9.51 0 88844 N/A
DSIELTSK DST 253 5053.53 8.97 1.32 0 31 N/A
DSIAMLUT DST 248 1210.42 2.32 0.34 0 26 N/A
BNJDSERV DST 250 4747.71 1.90 0.28 0 364 N/A
DSICRTR DST 251 1456.56 1.83 0.27 0 32 N/A
DSILOG DST 254 668.85 0.43 0.06 0 23 N/A
AAUTCNMI DST 249 100.61 0.00 0.00 0 463 N/A
CNMTAMEL DST 249 0.36 0.00 0.00 0 49 N/A
CNM01LUC DST 251 329.23 0.00 0.00 0 43 N/A
DSIGDS DST 254 2.06 0.00 0.00 0 46 N/A
DSIHPDST DST 252 2.23 0.00 0.00 0 39 N/A
DSIKREM DST 250 2.15 0.00 0.00 0 549 N/A
DSIROVS DST 251 0.03 0.00 0.00 0 13 N/A
DSISVRT DST 253 0.93 0.00 0.00 0 105 N/A
DSIUDST DST 250 2.59 0.00 0.00 0 14 N/A
DSI6DST DST 251 31.10 0.00 0.00 0 41 N/A
NETVIEW OTHR N/A N/A 0.00 0.00 N/A N/A N/A
NETVIEW SRB N/A 4279.93 6.26 0.92 N/A N/A N/A
NETVIEW TOTL 157 59017.88 100.00 14.72 275 151527 N/A
SYSTEM TOTL N/A N/A N/A 60.51 N/A N/A N/A
It is evident that AAUTSKLP, the session monitor data services task, is the biggest contributor to NetView
CPU use. Over the 2 hour period, AAUTSKLP used 1888.04 CPU seconds (23907.17 - 22019.13), while
the NetView program as a whole used 4250.92 CPU seconds (59017.88 - 54766.96). For the 2 hour
period, AAUTSKLP's relative contribution to the total CPU utilization according to the N-CPU% formula is:
Assume that there are six online host processors. AAUTSKLP's contribution to the total system CPU
utilization according to the S-CPU% formula is:
(23907.17 - 22019.13)
--------------------- × 100% = 4.37%
(2 × 60 × 60) × 6
Remember that you need to convert the measurement duration to seconds for these utilization formulas
(2 hours × 60 minutes per hour × 60 seconds per minute = 7200 seconds). This technique makes the
assumption that the task did not stop and restart during the measurement interval.
According to the S-CPU% formula, the contribution to the total system CPU utilization for the 2 hour
period is:
(59017.88 - 54766.96)
--------------------- × 100% = 9.84%
(2 × 60 × 60) × 6
Table 3. Base NetView Formulas. All numbers in the results column are in kilobytes (KB).
Default
Name Value Formula Result Description
INITSTART 3 19124 20456 Initial Storage use of the base NetView
program is 19124 KB.
Autotasks 25 _____ * 268 _____ The number of autotasks you expect to have
active on your system. Use the TASKUTIL
command to display the active NetView
tasks on your system. Add the number
of tasks with TYPE=AUTO and TYPE=DIST
(distributed autotasks used by the RMTCMD
command) shown in the TASKUTIL display.
NNTs 5 _____ * 150 _____ The number of NetView-NetView tasks
(NNTs) you expect to have active on your
system. NetView-NetView tasks are started
when an operator from another NetView
domain starts a session to this NetView
domain. For the number of NNTs, use the
TASKUTIL command to display the active
NNTs on your system. Add the number
of tasks with TYPE=NNT shown in the
TASKUTIL display.
BrowseLines 10000 _____ / 50 * 4 _____ Number of lines (or records) in the largest
data set you will browse. Member browse
reads the entire member into storage.
Table 4. Hardware Monitor Formulas. All numbers in the results column are in kilobytes (KB).
Default
Name Value Formula Result Description
HardMon 0 _____ * 433 _____ Will you be using the hardware monitor?
Enter 1 for yes or 0 for no. If yes, this adds
in the extra storage required. To determine
if this function is used, use either the LIST
STATUS=TASKS or TASKUTIL command and
see if task BNJDSERV is active. The default
is 0 for no. The remainder of the parameters
in this table are applicable only if hardware
monitor is used.
ALCACHE 10 (_____ * 500) / 1024 _____ Specify the ALCACHE value from the
CNMSTYLE member. If the ALCACHE value
is set to NONE, use a value of 0. If the
ALCACHE value is set to WRAPCNT, use
a value equal to the alert recording wrap
count, which defaults to 100. The default
value is 10.
TotResources 5000 Used in DASD storage Specify the number of resources in your
formula network that could send alerts to hardware
monitor.
AvgRecords 10 Used in DASD storage Specify the average number of records you
formula expect to have in the hardware monitor
database, per resource. To get a conservative
(high) estimate, you can specify the average
wrap count used for events and statistics
recording. Wrap counts are specified with the
NPDA SWRAP command. The default wrap
count for events and statistics recording is
25.
Table 4. Hardware Monitor Formulas. All numbers in the results column are in kilobytes (KB).
Summary Formula Result
Hardware Monitor Virtual Sum of table values in Results column _____
Storage
Hardware Monitor DASD (500000 + TotResources_____ * (500 + AvgRecords_____ * 700)) / _____
Storage in kilobytes (Kb) 1024
Table 5. Session Monitor Formulas. All numbers in the results column are in kilobytes (KB).
Summary Formula Result
Session Monitor Virtual Sum of table values in Results column _____
Storage
Table 6. TCP Connection Management Monitor Formulas. All numbers in the results column are in kilobytes
(KB).
Default
Name Value Formula Result Description
TCPConn 0 _____ * 83 _____ Will you be using the TCP Connection
Management function? (1=Yes, 0=No)
ActiveConnSess 10000 _____ * 0.0625 _____ How many active TCP connections will be
monitored?
Table 7. VSAM LSR Buffer Storage. Modify the buffer sizes and number of buffers for each size to match the
values you have in CNMSJM01 (DSIZVLSR). All numbers in the results column are in kilobytes (KB).
Buffer Size
Default
and Number Values Formula Result Description
Data Buffers:
CINV, BUFNO 7168, CINV_____ * _____ For each buffer size in the output of the
4 BUFNO_____ VSAMPOOL command, specify the buffer
size (CINV) and number of buffers (BUFNO).
For more information on buffer size and
the number of buffers in specific VSAM
LSR buffer storage configurations, see
“Definitions for LSR and DFR” on page 82 .
CINV, BUFNO 8192, CINV_____ * _____
20 BUFNO_____
CINV, BUFNO 16384, CINV_____ * _____
4 BUFNO_____
CINV, BUFNO 18432, CINV_____ * _____
20 BUFNO_____
CINV, BUFNO 20480, CINV_____ * _____
20 BUFNO_____
CINV, BUFNO 22528, CINV_____ * _____
20 BUFNO_____
CINV, BUFNO 24576, CINV_____ * _____
20 BUFNO_____
Index Buffers:
CINV, BUFNO 512, 3 CINV_____ * _____
BUFNO_____
CINV, BUFNO 1536, CINV_____ * _____
30 BUFNO_____
Table 7. VSAM LSR Buffer Storage. Modify the buffer sizes and number of buffers for each size to match the
values you have in CNMSJM01 (DSIZVLSR). All numbers in the results column are in kilobytes (KB).
Summary Formula Result
VSAM LSR Buffer Virtual Sum of table values in Results column/1024 _____
Storage
Table 8. NetView Subsystem Storage. All numbers in the results column are in kilobytes (KB).
Default
Name Value Formula Result Description
buffer z*60 Because of reentrancy requirements, there
must be enough storage for 2 tables to be
where z is the larger of the
loaded at the same time.
two numbers n and m
Table 8. NetView Subsystem Storage. All numbers in the results column are in kilobytes (KB).
Summary Formula Result
NetView Subsystem Sum of table values in Results column _____
Virtual Storage
NetView Subsystem (3868 + 280 * PPIreceivers_____) / 1024 _____
Storage in CSA below the
line
Table 9. Additional NetView Storage. All numbers in the results column are in kilobytes (KB).
Default
Name Value Formula Result Description
AON 0 _____ * 9692 _____ Will you be using the Automated Operations
Network (AON) feature? Enter 1 for yes or 0
for no. If yes, this adds in the extra storage
required. To determine if this function is
used, use either the LIST STATUS = TASKS
or TASKUTIL command and see if there are
some AUTxxxx or EZLxxxx tasks active. The
default is 0 for no.
Table 9. Additional NetView Storage. All numbers in the results column are in kilobytes (KB).
Summary Formula Result
Additional NetView Virtual Sum of table values in Results column _____
Storage
Table 10. GMFHS Address Space. GMFHS requires that RODM be active. All numbers in the results column are
in kilobytes (KB).
Default
Name Value Formula Result Description
GMFHS 0 _____ * 6780 _____ Will you be using the Graphic Monitor Facility
host subsystem (GMFHS)? Enter 1 for yes
or 0 for no. GMFHS is an advanced network
management system which employs task-
oriented dialogs in an intelligent workstation
providing a graphics base for IBM systems
and network management products. The
default is 0 for no. If you will not be using
GMFHS, the remainder of the parameters in
this table are not applicable.
GmfhsObjects 1000 Used in RODM data space Specify the number of GMFHS-managed
virtual storage formula. objects that you expect to have in RODM.
See Table 14 on page 131.
GmfhsTrcPgs 0 _____ * 4 _____ Specify the number of pages of storage
used for GMFHS internal trace. Trace pages
are used to record GMFHS data for test
and debug purposes. The TRACEPAGES
parameter is specified in the DUIGINIT
member and works in conjunction with
TRACE=ON.
Table 10. GMFHS Address Space. GMFHS requires that RODM be active. All numbers in the results column are
in kilobytes (KB).
Summary Formula Result
Table 11. Event/Automation Service Address Space. All numbers in the results column are in kilobytes (KB).
Default
Name Value Formula Result Description
Ev/Aut 0 _____ * 5852 _____ Will you be using the Event/Automation
Service (IHSAEVNT)? Enter 1 for yes or 0
for no. The Event/Automation Service serves
as a gateway for event data between the
IBM Z NetView management environment,
the Tivoli management regions managers
and agents that handle Event Integration
Facility (EIF) events, and SNMP managers
and agents. You can use this gateway
function to manage all network events from
the management platform of your choice.
The default is 0 for no.
Table 11. Event/Automation Service Address Space. All numbers in the results column are in kilobytes (KB).
Summary Formula Result
Event/Automation Service Sum of table values in Results column _____
Address Space Virtual
Storage
Table 12. IBM Z NetView Enterprise Management Agent. All numbers in the results column are in kilobytes (KB).
Default
Name Value Formula Result Description
TEMA 0 Used in RTE and Agent _____ Will you be using the IBM Z NetView
formula for Enterprise Management Agent? (1=yes,
0=no)
InstallLibrary 0 Install Library storage _____ Install Library (DASD). See IBM Z NetView
requirements will be Enterprise Management Agent Program
calculated based on Directory for specific Install Library DASD
information in the EMA requirements.
Program Directory
RTE TEMA_____ * 897024 _____ RTE (DASD). Run Time Environment (Full)
- using defaults, with Persistent Data Store
configured.
Agent TEMA_____ * 42800 _____ IBM Z NetView Enterprise Management
Agent address space (Virtual storage).
Table 13. RODM Address Space Storage. All numbers in the results column are in kilobytes (KB).
Summary Formula Result
RODM Address Space Sum of table values in Results column _____
Virtual Storage
RODM Storage in CSA 64 * (ConcurUsers_____ + AsyncTasks_____) / 1024 _____
below the line
RODM Log DASD Storage LogRecords_____ / 2 _____
in kilobytes (Kb)
Table 14. RODM Object Storage. All numbers in the results column are in kilobytes (KB).
Summary Formula Result
RODM Address Space 13005 _____
Virtual Storage
RODM Data Space Virtual UserObject storage (see previous formula) + 3686 + _____
Storage (GmfhsObjects_____ * 3) + ((Table 9 on page 126 NetView table)
* 3.4)
RODM Checkpoint Data RODM Data Space Virtual Storage for objects + 16384 _____
Set DASD Storage in
kilobytes (KB)
RODM Translation Data RODM Address Space Virtual Storage for objects + 16384 _____
Set DASD Storage in
kilobytes (KB)
Table 15. Minimum Virtual Storage Requirements Summary. All numbers in the Results column are in kilobytes
(KB). To convert values to megabytes (MB), divide by 1024.
Storage Type Table Location/Formula/Amount Result
NetView Address Space See Table 3 on page 115, Table 4 on page 120, Table 5 on page 121, _____
above the 16 MB Line Table 7 on page 124, and Table 9 on page 126.
Table 16. DASD Storage Conversion Table. Use to convert kilobytes of storage into Cylinders or Blocks.
DASD Type Kilobytes per unit Unit Type
3390 720 Cylinders
3375 384 Cylinders
3330 228 Cylinders
9335 0.5 Blocks
9332 0.5 Blocks
3370 0.5 Blocks
3310 0.5 Blocks
Region Size
The REGION parameter on the EXEC statement in the startup procedure for a program specifies how
much virtual storage the program is enabled to allocate. Specifying various values for the region size has
the following results (unless your installation changes the default limits in MVS that are supplied by IBM):
EVERY 00:30:00,PPT,LOGTSTAT
The example command writes the results to the system monitoring facility (SMF) log. When you have
collected data for the number of days you want, turn off the EVERY command by issuing a PURGE TIMER
command with the timer ID of the original EVERY command. (If you do not know the timer ID, you can find
it by issuing a LIST TIMER command.)
After the statistics are collected in the SMF log, use that data to determine the peak resource usage
for various tasks. Use the NetView function that enables you to issue the DEFAULTS and OVERRIDE
commands to set limits on resource usage for each critical task. When limits are set, the NetView program
sends a warning message when one of the limits is reached or exceeded by a task. You will have time to
react before the task can use enough virtual storage or CPU time to slow down or halt your system. You
can even automate your responses to the warning messages.
To do a quick check of resource usage (for example, for a day or two), use the following command instead
of setting an EVERY timer:
WINDOW TASKMON * *
This command sends the TASKMON output to a window at the operator's console where the command is
issued. It monitors virtual storage, CPU, message queuing, and I/O activity for every task for which you
have set a limit. The results are color-coded, with tasks that are at 90% of their limits shown in red.
To monitor only the virtual storage your tasks are using, issue the following TASKUTIL command each
morning:
This command checks the virtual storage usage every 30 minutes for all tasks. You can vary the number of
minutes.
The TASKMON and TASKUTIL outputs provide a baseline from which to compare future data when you
suspect a task might be using an unusual amount of virtual storage. For example, suppose a normal
amount of virtual storage usage for one of your NetView operator tasks is about 2 MB. If the operator
ROLLs from one NetView window to another, the operator task could quickly take up to 20 MB of storage.
Also, the IBM NCP NTuneMon product can use a large amount of virtual storage. If an operator is checking
out two or three NCPs at the same time, it could use in the range of 12–15 MB of virtual storage.
When you have collected data for the specified number of days, turn off the EVERY command by issuing a
PURGE TIMER command with the timer ID of the original EVERY command. (If you do not know the timer
ID, you can find it by issuing a LIST TIMER command.)
Hint: If your TASKUTIL output at 8 a.m. says 70 MB and your REGION size is 75 MB, attempt to determine
immediately what is using the most storage. The amount of virtual storage being used will surely increase
when operators start logging on for the day.
Messages warn you when the NetView region is running out of space. You can automate responses to the
following messages:
BNH162I THE domainid BELOW 16M STORAGE IS nn% USED, mmmK IS LEFT
BNH163I THE domainid ABOVE 16M STORAGE IS nn% USED, mmmK IS LEFT
Coding RES=N on the CMDDEF statements for alert network operations support saves 2 KB.
Coding RES=N on the CMDDEF statements for these functions saves 19 KB.
Automated Operations
CMDDEF.AUTOTASK.RES=N
CMDDEF.GENALERT.RES=N
CMDDEF.DEFAULTS.RES=N
CMDDEF.OVERRIDE.RES=N
CMDDEF.GETMSIZE.RES=N,
CMDDEF.GETMTYPE.RES=N
CMDDEF.GETMLINE.RES=N
CMDDEF.PARSEL2R.RES=N
CMDDEF.EXCMD.RES=N
Coding RES=N on the CMDDEF statements for automated operations saves 24 KB.
CMDDEF.MVS.RES=N
CMDDEF.WTO.RES=N
CMDDEF.WTOR.RES=N
CMDDEF.DOM.RES=N
CMDDEF.RELCONID.RES=N
CMDDEF.DISCONID.RES=N
Coding RES=N on the CMDDEF statements for automated operations (MVS) saves 18 KB.
CMDDEF.DSIDTEND.RES=N
Coding RES=N on the CMDDEF statements for this function saves 0.7 KB.
CNM Router
CMDDEF.DSICRUSP.RES=N
CMDDEF.CHNGFP.RES=N
CMDDEF.FPDLCMD.RES=N
Coding RES=N on the CMDDEF statements for the CNM router saves 5 KB.
Commands
CMDDEF.LIST.RES=N
CMDDEF.MSG.RES=N
CMDDEF.HOLD.RES=N
CMDDEF.INPUT.RES=N
CMDDEF.PURGE.RES=N
CMDDEF.ROUTE.RES=N
CMDDEF.DSILUITF.RES=N
CMDDEF.DSILCRTR.RES=N
CMDDEF.DSILCSTP.RES=N
CMDDEF.DSILCSF7.RES=N
CMDDEF.DSILCTCU.RES=N
CMDDEF.DSILCNTM.RES=N
Coding RES=N on the CMDDEF statements for data transfer saves 11 KB.
CMDDEF.DSI809A.RES=N
Coding RES=N on the CMDDEF statements for cross-domain logon saves 4 KB.
Coding RES=N on the CMDDEF statements for the DCNM router saves 13 KB.
External Logging
CMDDEF.DSIELDAT.RES=N
Coding RES=N on the CMDDEF statements for external logging saves 1 KB.
Coding RES=N on the CMDDEF statements for focal point support saves 2 KB.
Coding RES=N on the CMDDEF statements for GLOBALV and save/restore saves 6.5 KB.
CMDDEF.WAIT.RES=N
CMDDEF.TRAP.RES=N
HLL Only
CMDDEF.TIMEP.RES=N
CMDDEF.QUEUE.RES=N
CMDDEF.RID.RES=N
Coding RES=N on the CMDDEF statements for message forwarding saves 10 KB.
NetView Bridge
CMDDEF.RTRQUEUE.RES=N
CMDDEF.TRANRCV.RES=N
CMDDEF.TRANSND.RES=N
CMDDEF.DSINBRSM.RES=N
CMDDEF.DSINBTRM.RES=N
Coding RES=N on the CMDDEF statements for NetView Bridge saves 23 KB.
Coding RES=N on the CMDDEF statements for NetView Bridge remote access saves 2 KB.
Coding RES=N on the CMDDEF statements for NetView command list language and REXX saves 9 KB.
Coding RES=N on the DUIATERM statement for the NetView management console saves 3.5 KB.
Service Point
CMDDEF.RUNCMD.RES=N
Coding RES=N on the CMDDEF statements for commands and command lists saves 4 KB.
CMDDEF.DSIUSNDM.RES=N
CMDDEF.ENDTASK.RES=N
Coding RES=N on the CMDDEF statements for remote operations saves 8 KB.
Save/Restore
CMDDEF.DSITIRTR.RES=N
CMDDEF.RESTORE.RES=N
CMDDEF.AAUDRSRT.RES=N
Sequential Log
CMDDEF.DSIBSWCP.RES=N
CMDDEF.DSIZBSQW.RES=N
Coding RES=N on the CMDDEF statements for the sequential log saves 5 KB.
CMDDEF.IDCAMS.RES=N
CMDDEF.SUBMIT.RES=N
CMDDEF.SESSMDIS.RES=N
CMDDEF.DSRBS.RES=N
CMDDEF.LISTCAT.RES=N
CMDDEF.DISPMOD.RES=N
CMDDEF.MSGROUTE.RES=N
CMDDEF.RESOURCE.RES=N
CMDDEF.RESETDB.RES=N
CMDDEF.TASKUTIL.RES=N
Coding RES=N on the CMDDEF statements for service and tuning saves 63 KB.
CMDDEF.AAUSLGEX.RES=N
CMDDEF.AAUSRTEA.RES=N
Coding RES=N on the CMDDEF statements for the session monitor saves 3 KB.
Status Monitor
CMDDEF.MONIT.RES=N
CMDDEF.STATMON.RES=N
CMDDEF.CLRSTATS.RES=N
CMDDEF.PARSE.RES=N
Coding RES=N on the CMDDEF statements for the status monitor saves 15 KB.
CMDDEF.LISTSESS.RES=N
CMDDEF.ENDSESS.RES=N
CMDDEF.SENDSESS.RES=N
CMDDEF.DSILMEXP.RES=N
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore,
this statement might not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in
any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of
the materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and other programs (including this
one) and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Corporation
2Z4A/101
11400 Burnet Road
Such information may be available, subject to appropriate terms and conditions, including in some cases
payment of a fee.
The licensed program described in this document and all licensed material available for it are provided by
IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any
equivalent agreement between us.
Any performance data contained herein was determined in a controlled environment. Therefore, the
results obtained in other operating environments may vary significantly. Some measurements may have
been made on development-level systems and there is no guarantee that these measurements will be
the same on generally available systems. Furthermore, some measurement may have been estimated
through extrapolation. Actual results may vary. Users of this document should verify the applicable data
for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of those products, their
published announcements or other publicly available sources. IBM has not tested those products and
cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of
those products.
Programming Interfaces
This publication documents information that is NOT intended to be used as Programming Interfaces of
IBM Z NetView.
Trademarks
IBM, the IBM logo, and ibm.com® are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at
"Copyright and trademark information" at http://www.ibm.com/legal/copytrade.shtml .
Adobe is a trademark of Adobe Systems Incorporated in the United States, and/or other countries.
Intel is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United States
and other countries.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or
its affiliates.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or
both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Other product and service names might be trademarks of IBM or other companies.
Notices 143
144 IBM Z NetView: Tuning Guide
Index
Index 145
browse, data set 92 CNMSVM10 member 61
buffer cold start 74
allocation 82 COLLECT command 66
control buffer 81 collect parameter 64
data 101 color filter 38
defining 82 command definition (CMDDEF) statement
DFR 81 adding to CNMCMD 99
header 55 list 135, 136
Hiperspace 84 command forwarding 15
I/O 81 command list
lost 54 &PAUSE statement 13
PIU 54 CALL statement 26
pools 82 compiled 26
queue limit 101 converting 26, 31
SAW 50 DROPCL command 24
size 83 executing under an autotask 13
trace 52, 54 extent 103
BUFFERS parameter 83 interpreted 24
BUFNUM parameter 52, 55 library 24
BUFSIZE parameter 52, 55 LOADCL command 24, 103
MAPCL command 24
modifying 24
C name 26
cached DASD device 103 nested 24, 25
calculating CPU utilization 111 preloading frequently used load modules 24
calculating task utilization 112 reducing number and size 24
CALL statement 26 REXX considerations 26
CDINIT 53 subroutine 25
CDRM names 56 system function call 27
cell pool statistics 76 TRACE command 53
CEXEC 26 variable dictionary 35
CGLOBAL 26 command procedure
channel program 81 comment placement 103
checking resource limit 107 common global variables 34
CHKPT command 73, 74 communication between command procedures 26
CI (control interval) compiled 31
size 83 considerations 23
split 88 definition 23
CICS applications 56 HLL command processor 31
CISIZE values, NetView 82 running under different tasks 34
CLEAR parameter 74 running under the same task 34
client programmable workstation 71 subroutine 25
cluster information 85 task global variables 34
CMDDEF statement tuning 23
adding to CNMCMD 99 variables 34
list 135, 136 command processor
CNM router 136 automate messages 7
CNM493l message 9 enhancing performance 35
CNMAUTH statement 100 HLL 31
CNMCMD member 99 initialization 32
CNMCMD residency option, examining 19 PL/I 32
CNMPNL1 data set 102 security 95
CNMS0055 member 61, 101 service and tuning 139
CNMS0080 member 61, 101 commands, performance-related
CNMS7003 (DSIDNMAT) member 46 DSRBS 97
CNMS8003 member 25 LISTCAT 84
CNMSHJ15 member RESOURCE 104
DSICTMOD 101 SESSMDIS 63
sense code filter 61 STATCELL 76
CNMSHM01 member 82 TASKUTIL 109
CNMSHM07 member 61 VSAMPOOL 87
CNMSJM01 member 82 common control blocks 81
CNMSJM10 member 61 common global variables 34
CNMSVM04 member 82 compiled command list 26
Index 147
DSRBS command 97 focal point host
DST (data services task) 44, 97 forwarding alerts 41
DSTINIT statement 97 with distributed hosts 6
FORCE command 60, 81
forwarding alerts 41
E FREE statement 135
E/T (error-to-traffic) threshold 45 full-screen commands 13
EKG1111I error message, RODM 74 function call 27
EKGD001 data set, RODM 74 function packages 27
EKGD002 data set, RODM 74 function routine 7
EKGDWIND member, RODM 74
EKGMAST data set, RODM 74 G
EKGTRAN data set, RODM 74
EKGXRODM JCL, RODM 74 gateway NCP names 56
END statement 7 gateway NCPs 53
end-of-file condition 62 gateway trace 56
enqueue facility 35 generic automation receiver (NVAUTO) 31, 100
environment variables, notation xiii GET request 81
environments, REXX 30 GETC 35
error messages GETMSIZE 26
EKG1111I 74 GETMTYPE 26
error-to-traffic (E/T) ratio threshold GETT 35
RATE statement 46 global trace 8, 52
RATIO statement 46 global variable processing 8, 26
SRATIO command 45 global variables 26, 34
SRFILTER command 45 GLOBALV command 26
ESREC filter 13, 37 GO command 13
ESTAE exit 82 Graphic Monitor Facility, NetView
event counter 54 tuning at host 69
events GROUP statement 103
event record recorded as alert 37
filters for processing 37
logging 46
H
placed in hardware monitor database 81 hardware monitor
processed as subsystem interface function 7 ALCACHE value in BNJMBDST 39
events and statistical recording (ESREC) filter 13, 37 alerts database 13
events and statistics database 13 automating records 13
EXCP (execute channel programs) 86 customizing error-to-traffic ratio 45
execute channel programs (EXCP) 86 database and filters 38
EXIT statement 25 DSRBO value in BNJMBDST 44, 85
exits 82 error-to-traffic threshold 45
extended MCS consoles 6 events and statistics database 13
extent 103 filter 13, 37
external log 54 filter structure 38
external log record 54 HMSTATS 37
issuing SRATIO command 45
F record filtering 13
specifying hardware monitor thresholds 46
filtering tuning 37
DASD 61 HEAP value 32
hardware monitor records 13 helpful hints
HMSTATS command 37 tracking storage use 134
MSUs 13 using TASKMON 134
sense codes 61 using TASKUTIL 134
filters HIER condition 13, 38
AREC 13, 37 high level language (HLL)
COLOR 38 command model statements 137
ESREC 13, 37 command processors 31
hardware monitor 38 preinitialized environments 32
OPER 13, 37 program 23
ROUTE 13, 37 high performance transport 15, 99
SVFILTER command 38 Hiperspace buffers 84
VTAM SAW 50 histogram data 78
Index 149
LUC sessions, forwarding alerts over 41 NETCONV statement 71, 72
LUCOUNT parameter 66, 67 NetView
automation 15
consoles used 6
M constants module 101
MACRF values, NetView 82 CPU utilization 111
management services (MS) transport 99 data set member browse 92
managing database size 62 dispatching priority 15
managing preloaded commands 25 function package 27
managing the session monitor database 61 functions for REXX 27
manuals Graphic Monitor Facility 69
see publications ix Graphic Monitor Facility host subsystem (GMFHS) 72
MAPCL command 24 library 24, 26
MAPSESS statement 56, 57 local function 27
MAXSESS keyword 100 primary POI task 35
message problem determination (PD) 15
AAU024I 54, 55 program-to-program interface 101
automated 7 saving storage 135
automation support 5 SESSMDIS command 55, 63
BNJ030I 13, 37 startup JCL 32
BNJ146I startup procedure 103
alert forwarding 41 subsystem job 7
OPER filter 13, 37 system function 27
capture 37 system package 27
CNM493l 9 user function 27
controlling number 5 NetView automation table
detail report 9 %INCLUDE 7
filtering 5 ALWAYS statement 7
forwarding 15 AUTOCNT command 9
summary report 11 automated message 5
suppressed 5 AUTOTBL command 7
traffic 5 BEGIN/END statement 7
message processing facility (MPF) 5, 8 design guidelines 7
messages, limiting system 5, 8 detail report 9
MPF (message processing facility) 5, 8 DSICGLOB 8
MPFLSTxx member 5 efficiency 7
MS transport layer 99 END statement 7
MSUs IF-THEN statement 7, 8
automating 13 message automation 7
detail report 9 message CNM493l 9
filtering 13 MSU automation 7
summary report 11 reducing entries 7
MSUSEG condition 13, 38 related entries 7
multiple autotasks 14 search 5
multiple NetView programs size 7
for separating system and network automation summary report 11
workloads 15 suppressed message 7
multiple processors 14 SYN statement 7
multiple programs 15 NetView programs
multitasking 14 multiple
MVS for system and network automation workloads 15
consoles 6 single
DSRBO values 82 using WLM enclaves 16
NetView workloads
separating automation workload from 15
N NetView-NetView task (NNT)
compared to RMTCMD command 15, 101
naming convention, keep class 56
message forwarding 15, 41
NCCF TRACE options 100
network asset management 102
NCP
network log browse 92
gateway 52, 53
network management vector transport (NMVT) 101
names 56
network message automation 7
trace data 49
NIXL index component 86
nested command lists 24, 25
NLDM RECORD STRGDATA command 54, 63
Index 151
Resource Object Data Manager (RODM) (continued) SAW (session awareness) data (continued)
path length 79 definition 49
programming recommendations 79 description 50
storage manager 78 discarded 57
storage requirements 130 filtering 50
resource pool 82 filtering by NetView program 50
resource status collector filtering by VTAM 50
resynchronization 71 keep classes 57
response time monitor (RTM) 64 keeping selectively 50
REXX LU-LU session 50, 64
CALL statement 26 non-RTM data 57
command list conversion 26 notifications 50
compiler 26 parameter 63
considerations 26 RTM data 57
environments 30 session partners 50
interpreter 27 session PIU 49
nested command list 26 session status 50, 63
parse function 13 SESSMDIS command 50, 63
storage considerations 30 size of SAW buffers 50
system function call 27 SSCP-LU session 50, 64
RMTCMD command SSCP-PU session 50, 64
command and message forwarding 15, 101 SSCP-SSCP session 50, 64
data buffers 99 storage required per session 50
RNAA 53 VTAM SAW filter 50, 56
RODM (Resource Object Data Manager) SAW parameter 57
API statistics 74 SDLC (synchronous data link control) 72
checkpoint guidelines SDOMAIN command 100
EKGD001 data set 74 search algorithm 67
EKGD002 data set 74 search sequence 27
EKGMAST data set 74 search table 67
EKGTRAN data set 74 security 95
customization parameters 79 security scenarios 79
log record type 8 76 selective tracing 50, 52
path length 79 sense code filtering 61
programming recommendations 79 separating system and network automation workloads
storage manager 78 using multiple NetView programs 15
storage requirements 130 separating the automation workload from other NetView
route (ROUTE) filter 13, 37 workloads 15
ROUTE command 101 sequential log command model statements 139
route selection control vector (RSCV) 65 server-client configurations 72
RSCV 65 service point command model statements 139
RTM (response time monitor) 64 service request block (SRB) 104
run-time library 32 session
RUs (request units) 97 accounting 53, 64
RUSIZES 99 counts 64
cross-domain 50
cross-network 50
S ends 62, 65
samples library 82 initiation 53
Save/Restore NCP trace data 49
command model statements 139 partner 50
processing 35 partner name 56
VSAM data set 35 PIUs 49, 55
SAVEC function 35 recording 60
SAVET function 35 resource allocation 53
SAW (session awareness) data same domain 50
allocating SAW buffers starts 56, 65
MVS/ESA systems 51 status 50, 63
buffer trace data 49
ratio 65 session awareness (SAW) data
size 65 allocating buffers 50
configuration data 50 buffer ratio
data space limit factor (RACSAWLM) 51 ratio 50
data space packing factor (RACSAWPK) 51 configuration data 50
Index 153
STATAPI parameter (continued) TRACE command specification 52, 53
generating RODM statistics 74 trace options 100
overview 3 TRACE START command 53
STATCELL parameter 76 trace, gateway 56
statistics 37, 76 TRACEGW 56
STATOPT filtering 107 TRACELU 52
status focal point TRACEPPI command 102
workstation connectivity 71 traces, global and specific 52
status monitor TRACESC 52
command model statements 140 TSO applications 57
resource limit 107 TSO/E
STEPLIB DD statement 32, 107 ARXANCHR environment 31
STOP FORCE command 81 IRXANCHR environment 31
storage TSO/E local 27
considerations 30, 135 TSO/E system 27
manager, RODM 78 TSO/E user 27
programmable workstation estimates 70 TSO/E ARXANCHR environment 31
RODM requirements 130 TSO/E IRXANCHR environment 31
storage usage tuning
tracking 134 additional considerations 91
STRNO parameter 83 automated operations 5
subarea dial overhead 15 basic information 1
subpool 54 command procedures 23
subroutines 25 definition 1
subsystem interface 5 hardware monitor 37
subsystem job 7 LU 6.2 transport 99
summary reports, automation table 11, 12 NetView Graphic Monitor Facility
SVFILTER command 38 host 72
SWITCH command 81 workstation 69
switched line 15, 103 RODM 73
SWRAP command 44 session monitor 49
SYN statement 7 status monitor 91
synchronous data link control (SDLC) 72 VSAM 81
system tuning considerations
command 7 concatenating the DSICLD library 19
CPU utilization 111 DDF tree and panel, customizing 20
function call 27 NetView 19
function package 27 node automation, switching 20
library 26 operations 20
message 5, 7 reordering the automation table 19
message traffic 5 typeface conventions xii
system function call 27
U
T
unsolicited DSRBUs 97
task control block (TCB) 104 usage reports, automation table
task global variables 34 detail report 9
task utilization, calculating 112 summary report 11
TASKMON 134 user function package 27
TASKUTIL user group, NetView xii
command output 110 user groups
command processor 109, 139 NetView xii
diagnosis techniques 113
suggestions for using 113
tuning techniques 113
V
TCB 104 variable dictionary 35
temporary VIO data set 103 variables, common global 34
terminal access facility (TAF) 140 variables, notation for xiii
TGLOBAL 26 VIO data set 103
time-out facility 13 virtual I/O (VIO) data set 103
Tivoli Software Information Center xi virtual storage access method (VSAM)
token-ring connections 72 BLDVRP macro 82
TRACE (NCCF) options 100 buffer allocation 82
TRACE command 53
W
WAIT FOR OPINPUT 13
Index 155
156 IBM Z NetView: Tuning Guide
IBM®
SC27-2874-06