- Do you think a task is using an unusually high amount of CPU time (i.e. ACTIVITY command shows a consistently high CPU% for the task)? Do you suspect there may be something looping and would like to zoom-in on where the CPU activity is concentrated within the task?
- z/OS and CA SYSVIEW
- Using the information obtained by CA-SYSVIEW's TASKMON command you can find where the high activity is located and determine if it's normal CPU activity or not.
The TASKMON command records the number of times a TCB was active at a particular location within an address space, during a sample interval. At the end of the sample period, the collected data is formatted into a list of hits. If the list is longer than the screen, you can bring the most active locations to the top of the list by sorting the display by hit counts. In most cases the hit location is also identified as a load-module name and offset. If there are no (or few) hits for the execution of the command, then perhaps the length of the sample interval is too short - it can be varied from 1 to 60 seconds, or in some cases the execution of TASKMON may not be in sync with the task being monitored. For example, some CA SYSVIEW subtasks are only active at specified intervals and if you monitor one of these while it is sleeping, no activity will be recorded. You can usually determine when one of these will be active by watching, on the TASK display, and noting the task activity time. For example if you note that a task is active once every minute for about 5 seconds starting at 17 seconds into the minute, then you would want to start (or refresh) TASKMON a second or two before activity starts (at around 15 seconds into the minute) and let it run for 10 seconds (the default interval time). If you do not need to match your monitoring that closely to the activity, you can just set the interval to 60 seconds and start it anytime.
A high number of hits at a single location (or range of close locations) does not necessarily indicate a problem (unless it's an obvious loop that can only be remedied by canceling the task). This would have to be determined by closer analysis of what's going on in that area of the code and the information provided by TASKMON could help with making that determination.