Problem: Poor performance on a RHEL station

Checking CPU performance

When a RHEL station is taking too long to perform a task, you can check the CPU status to ensure that one process is not using most of the CPU resources, and then use commands to review the CPU usage.

Perform this procedure when CPU usage remains high and performance degrades.

You can also perform other procedures to monitor performance: If you are you performing a large listing operation using the NFM-P client GUI or OSS, check the LAN throughput using the netstat command, as described in Problem: Delayed server response to client activity.

Steps
 

Log on to the station as the root user.


Open a console window.


Perform the following steps to check for processes that are consuming excessive CPU cycles:

  1. To list the top CPU processes using the UNIX utility prstat, type:

    top ↵

    Depending on your system configuration, approximately the top 20 processes are displayed.

  2. Review the output.

    The top NFM-P process in the CPU column should be the Java process. However, the Java process should not consume too much CPU time. Some Oracle processes may also consume CPU time, depending on the database load.

  3. Press Ctrl-C to stop the command.


Perform the following steps to view a CPU activity summary.

  1. Enter the following command:

    mpstat time

    where time is the interval, in seconds, between CPU polls; a value between 10 and 60 is recommended

  2. Review the command output.

    mpstat output example
    CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
    all    0.25    0.00    0.17    0.00    0.00    0.00    0.00    0.00   99.58
    all    0.50    0.00    0.08    0.08    0.00    0.00    0.00    0.00   99.33
    all    0.17    0.00    0.08    0.00    0.00    0.00    0.00    0.00   99.75
    all    0.25    0.00    0.17    0.08    0.00    0.00    0.00    0.00   99.50

    mpstat field descriptions

    Field

    Description (events per second unless noted)

    CPU

    Processor number; the keyword all indicates that statistics are calculated as averages among all processors

    %usr

    Percentage of CPU utilization at the user application level

    %nice

    Percentage of CPU utilization at the user level with nice priority

    %sys

    Percentage of CPU utilization at the system level; does not include time spent servicing hardware and software interrupts

    %iowait

    Percentage of CPU idle time during which the system had an outstanding disk I/O request

    %irq

    Percentage of CPU time spent servicing hardware interrupts

    %soft

    Percentage of CPU time spent servicing software interrupts

    %steal

    Percentage of time spent in involuntary wait by the virtual CPU or CPUs during hypervisor servicing of another virtual processor

    %guest

    Percentage of CPU time spent running a virtual processor

    %idle

    Percentage of CPU idle time without an outstanding disk I/O request

    Review the %usr, %sys and %idle statistics, which together indicate the level of CPU saturation. A Java application that fully uses the CPUs typically falls within 80 to 90 percent of the %usr value, and 20 to 10 percent of the %sys value. A smaller percentage for the %sys value indicates that more time is being spent running user code, which generally results in better execution of the application.

  3. Press Ctrl-C to stop the command.


If processes are competing for CPU resources, perform the following steps to isolate the information about a single process.

  1. Check the state of CPUs by typing:

    ps -aux ↵

    A list of processes is displayed.

  2. Review the command output.

    For CPU troubleshooting, the important data is listed in the %CPU row. If a process is taking 90% or more of the CPU resources, there may be a problem with the process. Contact your account or technical support representative for more information.

  3. Press Ctrl-C to stop the command.


Contact technical support and provide the data obtained in the previous procedure steps.

End of steps