For the 1 minute report we can produced, TCB time ~19 seconds, SRB ~ 12 which is about for 31 seconds of CPU for the 0:0:19 duration of the sampling. Instead of seeing over 30% active, the report shows 0.46. It also indicates it spends most of its time waiting for CPU even though we know there are no resource constraints and the report itself indicates it is getting CPU. Instead of basing the active time off the samples, (which appears to be happening), is there any way we can base the report based on the actual length of the monitor and reflect the cpu time used during the run which should be a little over 30% of the sampling instead of indicating 99% CPU wait.
|---------------------------> JOB STATISTICS <---------------------------|
| ASID . . . 74 TCB TIME . 00:00:19.61 SYS NAME . CSYS
| JOB ID . . STC16025 SRB TIME . 00:00:12.46 OS FMID . HBB7790
| ACTIVE . . . 0.46 OS NAME . Z/OS
| EXCP COUNT 58990 WAIT . . . . . . 00 OS LEVEL . 02.01.00
| EXCP RATE 769.40 OS OWNER . IBM CORP
| PAGE-IN RATE CPU VERSION 00
| PAGE-INS . . < RGN USED 3276K CPU MODEL 2964-708
| > RGN USED 134M CPU SERIAL 3ED76
| SMFID . . CSYS
| CICS LEVEL DB2 LEVEL IMS LEVEL
| MQS LEVEL SAP LEVEL WAS LEVEL
This is coming from the TIMEVIEW option. This section shows all of the samples from the monitor, and in this case is 416,365 samples.
The number is 0.46%, and that is the percentage of samples used that were recorded when the application was actively using CPU. It is not a value that is showing CPU usage by the address space being monitored.
It's not implying that there was over a 99% CPU wait, just that the percentage of samples where the CPU was not actively using CPU was that number.
When you are looking at TCB and SRB time on the overview you are looking at numbers that we extract directly from address space control blocks. That is real time computed by looking at what is there at the being and end of the monitor. The SRB time will include CPU time that was used by MAT's sampler, so that isn't all related to the application itself. In overview message TN0108I will tell you how much SRB time MAT consumed and that is not your application time. Additionally, there may be some CPU time accumulated that we may report that overlaps the beginning and ending of the monitor, it should be pretty small, but those CPU buckets generally aren't empty when we are start or stop looking at them.
Aside from that, what you are seeing for %Active and %Wait is exactly what Rich said. Those percentages are all based on PSW samples for TCBs that are either running or waiting. And those samples are all application related samples. They are totally dependent on what we see at the time we look to take samples. there are lots of things that can be handling on an LPAR that you application is running on that can influence sampling. We are not a tracing tool and you won't likely ever see an exact match when you compare CPU time as a percentage of Elapsed time to the %Active samples and %Wait samples.
My recommendation is if you are tuning for CPU and %Active then do an Analyze Active and focus on what the active samples are telling you. We will aggregate those samples to 100%