17.00 - Process Scheduling: CPU Utilization Columns - Teradata Database

Teradata Vantageā„¢ - Resource Usage Macros and Tables

Advanced SQL Engine
Teradata Database
June 2020
User Guide

The CPU utilization columns count all CPU activities, including activities performed for virtual processors, and represent the sum of all CPUs on the node.

To obtain the average node CPU value for each column, CPU (Idle, IOWait, UServ, UExec), divide the column data by the number of CPUs per node (the value in the NCPUs column) and the number of centiseconds (CentiSecs column) in the logging interval.
  • CPU idle time = CPUIdle + CPUIoWait
  • CPU busy time = CPUUServ + CPUUExec

The NodeNormFactor is the per node normalization factor. This is related to the NodeType value reported in this resource usage table. The normalization factor modifies the reported CPU times to the equivalent time of a specified virtual processor. This does not add up to the reported CPU time.

To calculate the non-normalized total CPU time, use the following formula:

CentiSecs x NCPUs = CPUIdle + CPUIoWait + CPUUServ + CPUUExec

The CPU time returned in centiseconds is more accurate than those returned in seconds.
Column Name Mode Description Data Type
CPUIdle count Time in centiseconds CPUs are idle and not waiting for I/O. FLOAT
CPUIoWait count Time in centiseconds CPUs are idle and waiting for I/O completion.
This time represents another variety of Idle, since a CPU is only in this state if there are no processes eligible for execution. If there was a process available, the CPU would be immediately dispatched for that process.
CPUUExec count Time in centiseconds CPUs are busy executing user execution code, that is, time spent in a user state on behalf of a process.

CPUUExec reports the CPU time not used in the system call, or in the kernel.

CPUUServ count Time in centiseconds CPUs are busy executing user service code, that is, privileged work performing system services on behalf of user execution processes which do not have root access.

CPUUServ reports if a task executing a step used CPU while in the kernel.