SUSE Support

Here When You Need Us

High Kernel Load Averages

This document (7002722) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 10

Situation

You observe large load average values, and the number of CPUs installed on the server does match the load average values.

# cat /proc/cpuinfo | grep ^processor
processor    : 0
processor    : 1
processor    : 2
processor    : 3

#==[ Command ]======================================#
# /usr/bin/uptime
 09:43am  up 1 day  1:11,  2 users,  load average: 27.36, 22.03, 13.82

#==[ Command ]======================================#
# /usr/bin/vmstat 1 4
procs -----------memory----------   ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache     si   so    bi    bo   in    cs us sy id wa st
 0  3   2880 1061740 156512 5957644    0    0    11    79   70    31  1  0 97  1  0
 1  3   2880 1060400 156512 5957820    0    0     0 10692 4957 11259  1  2 35 62  0
 2  2   2880 1059780 156512 5957828    0    0     0 15876 6498 15612  1  4 47 48  0
 3  2   2880 1065840 156524 5957892    0    0    76 10668 6344 12680  6 16 37 42  0
^^

Resolution

A high load average indicates the server is busy. As long as your server and applications are performing as expected, you don't need to worry too much about it. The load average values should be within 75% of the number of CPUs. If a server has 4 CPUs, then 75% of 4 is 3. The load average values should not exceed 3 in that case. As the load averages approach the number of CPUs, then the CPU load is full. Load averages beyond the number of CPUs indicates an over loaded server. The current load average in the example above is more than nine times the optimal. These values apply to the CPU load only, and do not include information like memory usage, disk usage and other factors for determining server work load.

The vmstat command's "r" column under "procs" shows the current number of processes waiting to get on the run queue at a given instant in time. The uptime command shows the average number of processes on the run queue and waiting to get on the run queue in the last one, five and fifteen minutes. In the example above, the load averages indicate the server is getting busier, because the average processes in the last minute is higher than the fifteen minute average.

If you are having performance issues, then you need to use the ps command to determine which processes running. You might consider running some of the processes on a different host.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7002722
  • Creation Date: 20-Feb-2009
  • Modified Date:12-Oct-2022
    • SUSE Linux Enterprise Desktop
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.