Types of system states
Each observation, or “sample,” interrupts and momentarily “freezes”
system activity in the target address space. Information about the
state of the interrupted process (or, often, in the case of a multi-CPU
system, processes) is recorded. System states that can be observed
are:
- CPU Executing
- CPU Waiting
- Queued
It is important to understand that an observation session measures
activity in a single address space. When we refer to system states
like “CPU Waiting” or “CPU Unavailable” these states
are with respect to the target address space only.
- CPU Executing
- A CPU was executing machine instructions for the task when the observation was made. Information about where (in what program) execution was taking place is captured. Application Performance Analyzer also determines, and records, whether execution was in Linear or Parallel mode. Linear mode refers to a state in which one, and only one, task was executing instructions. Parallel mode refers to a state in which more than one task was executing concurrently. Parallel mode occurs when two or more CPUs were executing instructions for the target address space at the same time.
- CPU Waiting
- A task was in a wait state. The task was waiting for an event (such as completion of an I/O operation) to occur.
- Queued
- The “Queued” state refers to a task (TCB) that was
observed as dispatchable but was not executing instructions because
no CPU was available. A measurement showing a high percentage of queued
observations could imply an overall shortage of CPU resources. This
would also occur in an address space in which the number of dispatchable
tasks exceeds the number of physical CPUs.
Unavailability of memory can also cause the Queued state.