3.1.1 Processor monitoring examples
This subsection explains how to monitor processor performance.
- Organization of this subsection
(1) Overview
By monitoring processor performance, you can check the performance trends for the entire system. In UNIX, as illustrated in the following figure, the processor operations include processor operations for the kernel and for user processes.
The processor usage status can be checked by monitoring the CPU usage, which is the typical way, or by monitoring the number of queued jobs.
Jobs, such as processes, are executed by the CPU according to the schedule determined by the OS. The number of queued jobs is the number of jobs that are waiting to be executed by the CPU. When overall system load is high, the number of queued jobs tends to increase.
Monitoring templates provide functionality such as Kernel CPU alarms, User CPU alarms, Run Queue alarms, CPU Status (Multi-Agent) reports.
To monitor processor performance with more detail than with the monitoring template, the processor usage per processor, processor usage per process, processor queue count, and processor interrupts from hardware can also be monitored.
The following table lists and describes the principal records and fields related to processor monitoring.
Record |
Field |
Description (example) |
---|---|---|
PI |
1-Minute Run Queue Avg |
The average number of threads, exclusive of those for kernels pending within the execution queue. If value of this field is large, there might be a problem with the efficiency of processor usage. |
5-Minute Run Queue Avg |
||
15-Minute Run Queue Avg |
||
CPU % |
The CPU usage (the percentage of time that the CPU was being used). If value of this field is large, the CPU load is high. |
|
Idle % |
The percentage of time that the CPU was not being used. If value of this field is large, the CPU load is low. |
|
PI_CPUP |
CPU % |
The CPU usage for a processor. |
System % |
The CPU usage for a processor executed in kernel mode. If the value of this field is large, there might be a problem with the OS or operation. |
|
User % |
The CPU usage for a processor executed in user mode. If the value of this field is large, there might be a problem with a specific application. |
|
PD_PDI |
CPU % |
The CPU usage for a process. If the value of this field is large, there might be a problem with the OS, operation, or a specific application. |
System CPU |
The time the CPU takes to execute each process in kernel mode. If the value of this field is large, there might be a problem with the OS. |
|
User CPU |
The time the CPU takes to execute each process in user mode. If the value of this field is large, there might be a problem with a specific application. |
(2) Monitoring methods
(a) Monitoring kernel CPU usage
You can use the Kernel CPU alarm provided by the monitoring template to monitor system-wide kernel CPU usage.
For details, see 3.2.1(1) Monitoring template.
(b) Monitoring user CPU usage
You can use the User CPU alarm provided by the monitoring template to monitor system-wide user CPU usage.
For details, see 3.2.1(1) Monitoring template.
(c) Monitoring the CPU usage for each processor
By monitoring the CPU usage for each processor, you can check for problems with OS operation, such as an unbalanced CPU load. You can use the monitoring result of the CPU usage as a guideline for taking corrective measures.
Monitoring the kernel CPU usage, user CPU usage, and processor congestion is an effective way to monitor the CPU usage for each processor.
If the user CPU usage for a processor (the User % field of the PI_CPUP record) is at or above the threshold, you might need to look for processes that excessively use the CPU and to take action.
If the kernel CPU usage for a processor (the System % field of the PI_CPUP record) is at or above the threshold, the system environment is inadequate for the processing. In this case, you might need to upgrade the processor or add processors.
For definition examples, see 3.2.1(2) Definition examples other than for monitoring templates.
(d) Monitoring processor congestion
You can use the Run Queue alarm provided by the monitoring template to monitor processor congestion.
In addition to processor usage, you can monitor processor congestion (the number of queued requests) to monitor the processor load status. Monitoring both processor congestion and processor usage is an effective way to monitor the processor load status.
For details, see 3.2.1(1) Monitoring template.
(e) Checking processes whose processor usage is high
By monitoring kernel CPU usage, user CPU usage, CPU usage for each processor, and processor congestion, you can determine if a bottleneck exists. If one does exist, you can use a real-time report (the CPU % field of the PD_PDI record) to find processes that are monopolizing the processor.
If no such processes exist, the system environment is inadequate for the processing. In this case, you might need to upgrade the processor or add processors.
For definition examples, see 3.2.1(2) Definition examples other than for monitoring templates.