Monitoring system CPU time with the least overhead
search cancel

Monitoring system CPU time with the least overhead

book

Article ID: 22314

calendar_today

Updated On:

Products

IDMS IDMS - Database

Issue/Introduction

Specifying STATISTICS NOTASK in the sysgen SYSTEM statement causes the DCMT DIS STAT SYS statement output to show all zeros for system CPU time. Users may wish to see these system-level values without encumbering the overhead of task statistics.

How to monitor system CPU time with the least overhead?

Environment

Release: All supported releases.
Component: Performance Monitor.

Resolution

IDMS does not track task and system stats separately; what users see as system statistics are the accumulation of all the task statistics. IDMS tracks statistics at the task level, then combines all task statistics to create system-level values. To see system-level statistics, specify TASK COLLECT on the sysgen STATISTICS statement. By specifying COLLECT and not WRITE for the statistics, the overhead of writing the task stats to the log file is removed. The main overhead with task statistics is related to writing the stats to the log after the task has terminated. This will use more space in the log, and cause the log to be offloaded more often with the CV waiting while the log offloads. There is also some overhead involved with the log driver writing the stats but this is minor compared to the impact of the log offloads. CPU overhead is not increased writing statistics. 

The sysgen Statistics statement also has an Interval parameter. By leaving this unspecified, it will default to OFF, which is the best value to use to reduce overhead. The INTERVAL parameter controls how frequently statistics are written to the log. Letting it default to OFF means the system statistics and histograms are still written to the log at normal system shutdown and whenever a DCMT WRITE STATISTICS command is issued. However, they will not be on the log other than that, which again will save any overhead of writing them.

Also, without TASK COLLECT, LIMITS will not be enforced, nor will Perfmon's online tasks or batch reports show any useful information, which is another reason to turn it on.

Collecting statistics has some impact on the system performance. The size of the TCE is increased in the TCE area but not significantly. Benchmarks indicate that using TASK COLLECT (without writing statistics to the log) may increase the CPU by as little as 4%.  The precise amount will, of course, vary from site to site depending on the specific task activity.

To summarize, produce system-level statistics with the lowest overhead by coding the SYSTEM statement with a STATISTICS parameter as follows:

MODIFY SYSTEM nnn.... STATISTICS INTERVAL OFF NOLINE TASK COLLECT NOUSER NOTRANSACTION ...

Additional Information