Hitachi

JP1 Version 12 for UNIX Systems JP1/Performance Management - Agent Option for Platform Description, User's Guide and Reference


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.

Figure 3‒1: Relationship between the kernel and processes

[Figure]

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.

Table 3‒1: 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.